式展開とは?
- 文字列の中に式を入れることができる機能
- 書き方は文字列中で
#{式}
とするだけ - 文字列を作るときにダブルクォーテーション
"
で囲む
記述例と出力例
記述例
"今日で#{20+1}歳になりました"
表示例
今日で21歳になりました
ターミナルでirbを使用して確認してみる
出力成功例
irb(main):001:0> "今日で#{20+1}歳になりました"
=> "今日で21歳になりました"
出力失敗例
# シングルクォーテーションだと式展開されない
irb(main):002:0> '今日で#{20+1}歳になりました'
=> "今日で\#{20+1}歳になりました"
シングルコーテーションは不可
シングルクォーテーション'
で囲んだ場合は式展開が行われません
補足
式展開の式
に関して
Rubyにおける「式」とは
文字列や数値の他に
- メソッドの呼び出し
- 変数
- 演算子式
などが含まれます。
すなわち、"文字列", 1000, (1 + 5)
などはすべて式
Rubyは記述をすべて式と捉えます。
ターミナル【例】irb
irb(main):001:0> "記述はすべて式"
# 式の結果
=> "記述はすべて式"
irb
でとくにメソッドも使用せずに文字列や数値の値を確認できていた
これは、式の結果が表示されていたからこそ可能となっていた
irb
を使用して想定通りの出力がされない場合は、以下の可能性がある
- irbを起動できていない
(最初にirbとコマンドを入力しないとirbは起動しません)
- 式展開 #{ }が全角になっている
(式展開は半角で記述します)