Rubyとは?
WEBアプリケーションの「システム」をつくるためのプログラミング言語。
似たような言語:PHP、Python
Rubyの実行
「puts “○○”」というRubyのコードを書くと、putsの後の○○という文字が出力される。
【例】puts “Hello Nekosama”
【ポイント】
- 「put」はRubyの命令の一つで、「puts後の○○を出力せよ」的な感じ
- putsの後は半角スペースを空ける
- コメントは半角#を行の先頭に書くと、その分は表示されない
文字列
先ほどの「Hello Nekosama」はプログラミングでは文字列という。
文字列はクォーテーション( ” or ‘ )で囲む。
数字
javascriptの時と同じで、数字はクォーテーションで囲まない。
足し算引き算も可能。こちらもjabascriptの時と同じで「+」や「ー」を使う。
数字と「+」や「ー」とは半角スペースを空ける。
ほかに、「*:掛け算」、「/:割り算」、「%:あまり」もjabascriptの時と同じ。
文字列の連結
こちらもjabascriptの時と同じ。
【例】puts “God” + “Nekosama” → GodNekosama
変数
こちらもjabascriptの時と同じで、「変数名 = 値」で定義する。
プログラミングの「=」は「左の変数に右の値を入れる」という意味で、これを代入という。
【例】
name = “もんた”
puts name → 「もんた」と出力される
【ポイント】
- プログラムが上から順に実行されるため、変数は必ず変数を定義(変数名 = 値)した後でないと使えない
- 文字列が入った変数は、文字列とまったく同じように使える
変数名のルール
- OK 英単語を用いる(例:name)
- OK 2語以上の場合はアンダーバー( _ )で区切る(例:user_name)
- NG 数字で開始する(例:1name)
- NG ローマ字(例:namae)
- NG 日本語(例:名前)
変数を文字に含める
文字列の中で、#{変数名}とすることで、変数を代入している値に置き換えて、文字列に含めることができる。
【例】
name = “山田”
puts “こんにちは#{name}さん”
【ポイント】
- シングルクォーテーション(')ではなくダブルクォーテーション(゛)を用いる
- リスト
条件分岐(if文)
if文を用いると「もし○○ならば●●を行う」という条件分岐ができる。
【書き方例】
score = 94
if score > 80 (条件文)
puts “よくできました” (処理)
end
- 上記のコードでは、80より大きいという条件を見たいしているので、処理が実行されている
- もし条件が成り立たなければ、処理は実行されない
真偽値
【書き方例】
score = 94
puts score > 80
- 上記の場合、「true」と出力される
等しいか異なるか調べる(比較演算子)
- a == b:aとbが等しいときtrue
- a!=b :aとbが異なるときtrue
【例】
score = 70
- puts score == 100 → 「false」
- puts score != 80 → 「true」
name = “アシタカ”
- puts name == “アシタカ” → 「true」
- puts name != “アシタカ” → 「false」
条件が成り立たないときの処理(else)
ifにelseを組み合わせると「もし〇〇なら●●を行う、そうでなければ■■を行う」という処理ができる。
【書き方例】
score = 100
if score == 100 (条件文)
puts “やったね” (処理)
else score != 100
puts “どんまい”
end
さらに条件を追加する(elsif)
elsifを用いると「もし◯◯だったら●●を行う、そうでなくもし△△であれば▲▲を行う、いずれでもなければ■■を行う」という条件分岐ができる。
【書き方例】
score = 77
if score >80 (条件文)
puts “やったね” (処理)
elsif score < 60
puts “どんまい”
else
puts “まあまあやな”
end
【elsif注意点】
- 必要な数だけ並べることができる
- しかし、実行されるのは最初に当てはまった条件だけ(条件の並び順に注意)
複数の条件を組み合わせる かつ &&
「かつ」は「&&」で表します。「条件1 && 条件2」は「条件1かつ条件2」という意味。
複数の条件がすべてtrueならtrueになる。
「または」は「||」で表します。「条件1 || 条件2」は「条件1または条件2」という意味。
複数の条件のうち1つでもtrueならtrueになる。
コメント