文字列に式を記述して実行時に展開する

ダブルクオーテーションで囲まれた文字列(それに相当する文字列)の中には式を記述することができ、プログラムの実行時に式が評価されてその結果を文字列の中に展開することができます。ここでは Ruby で文字列の中に式を記述して実行時に展開する方法について解説します。

(Last modified: )

文字列に式を記述して実行時に展開する

ダブルクオーテーションで囲まれた文字列(それに相当する文字列)の中には式を記述することができます。式を文字列の中に記述するには次のように記述します。

#{式}

Ruby における「式」とは文字列や数値の他に、変数や配列、メソッド呼び出し、演算子式などが含まれます。プログラムの実行時に式が評価されてその結果が文字列の中に展開されます。

例えば式に単に文字列を記述した場合で考えてみます。

print("名前は #{'伊藤'} です")

この場合は単に「"名前は 伊藤 です"」と記述した場合と同じです。

次に演算式を記述した場合です。

print("年齢は #{20 - 5} です")

この場合は 20-5 が実行時に計算されて、その結果である 15 が文字列の中に展開されます。結果として「年齢は 15 です」と言う文字列になります。

また良く利用されるのが式に変数を記述した場合です。

name = "東京"
print("出身は #{name} です")

この場合は変数に格納されている値が文字列の中に展開されます。結果として「出身は 東京 です」と言う文字列になります。

式展開を使用することで、文字列の連結などを行わなくても文字列の中に変数などを組み込む事が可能になります。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

puts("名前は #{'伊藤'} です")
puts("年齢は #{20 - 5} です")

pref = "東京都"
puts("出身は #{pref} です")

下記のように実行して下さい。

文字列の中に式を展開

-- --

Ruby で文字列の中に式を記述して実行時に展開する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。