本文へスキップ
BecomeCoder

Rubyコース · 第1章 Rubyをはじめよう · レッスン5

文字列と補間 ― `#{}` で式を埋め込む

ブラウザで完結

導入

「こんにちは、〇〇さん」のように、文字列の中に変数の値を埋め込みたいことがよくあります。Ruby にはそのための文字列補間という便利な書き方があります。

説明

ダブルクオートの文字列の中で #{式} と書くと、その式の結果がその場に埋め込まれます。

name = "太郎"
age = 20
puts "私の名前は#{name}です"
puts "年齢は#{age}歳、来年は#{age + 1}歳になります"

#{} の中には変数だけでなく age + 1 のような計算式も書けます。一方、シングルクオート ' ' の文字列では補間は行われず、書いた文字がそのまま表示されます。

puts '補間なしの#{name}はそのまま表示'

文字列をつなげたいだけなら + も使えますが、変数の種類(数値か文字列か)を気にしなくてよい #{} のほうがよく使われます。

やってみよう

#{} の中身をいろいろな式に変えて、表示がどう変わるか確かめましょう。ダブルクオートとシングルクオートを入れ替えて、補間される・されないの違いも確認してください。

演習

変数 name"Ruby" を代入し、補間を使って I love Ruby! と表示してください。

ヒント1を見る

name = "Ruby" のあと puts "I love #{name}!" と書きます。

ヒント2を見る

#{} の中に変数名をそのまま書きます。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。