変数と式展開
変数を使う
変数は入れ物としての役割の他にオブジェクトに名前をつけるという役割がある。
変数を定義するとその分ソースコードは長くなってしまうが、見やすくなるので積極的に使っていくべき。
1 |
puts 200 * 2 + 100 * 5
|
これは単なる計算のプログラムだが、今のままでは何を計算しているかはわからない。しかし変数を使うことでこのプログラムに意味を与えることが出来る。
これでこのプログラムは「200円のオレンジを2個、100円のりんごを5個買ったときの合計金額を表示する」プログラムということがわかる。一度、変数に値を入れるという手間はかかるが、プログラムが非常に見やすくなる。
さらに以下のようなときにも変数はとても便利。
1 2 3 4 5 6 7 8 |
プログラム中で何度も同じ値を使っている。こういう場合は変数に入れたほうがいい。なぜならオレンジの価格が値上がりした場合、変数に代入している部分orange_price = 200
を書き換えるだけで済むから。
1 2 3 4 5 6 7 8 |
式展開を使う
文字列の連結には文字同士の連結はRubyの式展開を使えばより綺麗に書ける。
式展開は文字列の中に式を入れることができる機能。
式
Rubyにおける「式」とは文字列や数値の他に、変数やメソッド呼び出し、演算子式などが含まれる。
すなわち"文字列", 1000, (1 + 5)などはすべて式になる。
式展開
文字列の中で式を使い、式によって得られる値を入れることのできる機能。式展開の書き方は文字列中で#{式}とするだけです。
1 |
"#{式}"
|
式展開をする場合は文字列を作るときに"(ダブルクォテーション)で囲む必要がある。'(シングルクォテーション)で囲んだ場合は式展開が行われない。
1 2 3 4 5 6 7 8 |
name = "佐藤"
puts "わたしの名前は#{name}です。"
puts "1と3を足した値は#{(1 + 3)}です"
# シングルクォテーション
puts 'わたしの名前は#{name}です。'
puts '1と3を足した値は#{(1 + 3)}です'
|
式展開によって、ダブルクォテーションで囲んだ3行目と4行目は「わたしの名前は佐藤です」、「1と3を足した値は4です」となる。また、'(シングルクォテーション)で囲んだ場合は式展開されない。
ダブルクォテーションで囲んだ場合
1 2 |
わたしの名前は佐藤です
1と3を足した値は4です
|
シングルクォテーションで囲んだ場合
1 2 |
わたしの名前は#{name}です
1と3を足した値は#{(1 + 3)}です
|