すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

Ruby

【Ruby】 式展開を使って文字列の中で変数を使おう

ぴっかちゃん
ぴっかちゃん

式展開とは、文字列の中に変数などや計算式の結果などを出力できる機能です。

式展開の定義方法-->
1
"#{}"
式展開の使用例
1
2
3
4
irb(main):001:0> name = "ぴっか"
=> "ぴっか"
irb(main):002:0> "名前は、#{name}です。"
=> "名前は、ぴっかです。"

上記のように、ダブルクォテーションで囲った文字列の中に#{}を使って変数や式を展開することが出来ます。シングルクォーテーションだと式展開がうまく機能しないので注意してください。

式展開を使う場面とは?

変数を定義した後にその変数をダブルクォテーションで囲った文字列の中で使用したい時があります。
または数式の結果を文字列の中で使いたい時があるとします。

その際に#{変数や式}と書くことによって変数に代入されている内容や計算結果が式展開されて出力されます。
下記の例を見てみましょう。

式展開の使用例-->
1
2
3
4
5
6
7
name = "プログラマン" 
puts "私は#{name}です。" 
puts "3×5は#{3\*5}です。" 

# 実行結果 
私はプログラマンです。 
3×515です。

シングルクォテーションの場合だとどうなるでしょうか?

シングルクォテーションの場合-->
1
2
3
4
5
6
7
name = "プログラマン" 
puts '私は#{name}です。' 
puts '3×5は#{3\*5}です。' 

# 実行結果 
私は#{name}です。 
3×5#{3*5}です

このようにシングルクォテーションで書こうとただの文字として出力されてしまうので注意しましょう。

式展開を使用すると文字列同士を+で連結することなくすっきりとコードを書くことができます。 ぜひ積極的に使用していきましょう!

ここまでの流れでコードの読み方に不安があるという方は、こちらの書籍も参考になりますよ。

この記事のまとめ

  • 式展開は、文字列の中に変数などや計算式の結果などを出力できる機能のこと
  • ダブルクォテーションで囲った文字列の中に#{}を使って変数や式を展開する
  • シングルクォーテーションだと式展開がうまく機能しない