Rubyでよくわからない記述の仕方が出てきたので調べておきました。そのメモです。
puts "#{fruit1}と#{fruit2}は果物です"
これの #はコメントアウトの#では無いようだ。
また{}が出てきているが、これの説明が無いように見える。。
自分の理解では文字列を表現するときは
“~~~~~”
とやる。これは他のプログラミング言語でも同じように思います。
だからこの”と”の中に入れたものはすべて文字列として扱われるのが慣例です。
例えばこんな文章。
“東京は日本の首都です”
で、これを変数を使ってやるとする。
syuto = ‘東京’
変数を使って文章をつくってみます。
syuto = '東京' puts "syutoは日本の首都です"
とやりたいけど、”と”で囲った部分が文字列なので、syutoは、syutoで表示されちゃう。
結果は
syutoは日本の首都です
で、こんなときにrubyだとウルトラCの方法があって、それが前出の#{}のやりかた。
puts "#{syuto}は日本の首都です"
こうすると、なんと”と”で囲まれた文字列の中に変数を入れることができちゃう!
結果は
東京は日本の首都です
と出てくれる。
つまり
syuto + “は日本の首都です”
と同じことができるってわけ。このやり方は式展開というそうで、読みやすいので#{}を使った方が好まれるやり方なんだそう。
#{}でワンセットとして使うのがポイント。
これをRubyで書いて実行してみれば意味がわかるはず。
aiueo = '東京' puts "aiueoは日本の首都です" puts "#{aiueo}は日本の首都です"
このように書くと、
結果は
aiueoは日本の首都です
東京は日本の首都です
東京は日本の首都です
もう1つの例を書いてみます。
fruit1 = "リンゴ" fruit2 = "バナナ" puts "fruit1とfruit2は果物です" puts "#{fruit1}と#{fruit2}は果物です"
こうすると、
結果は
fruit1とfruit2は果物です
リンゴとバナナは果物です