Ruby式展開で変数埋め込み
式展開の基本
Ruby初心者にとって、文字列の中で変数や式を埋め込む方法は最初のハードルです。Rubyではダブルクォートで囲まれた文字列内に #{} を使うことで、式展開(インターポレーション)を行えます。これにより、動的文字列を簡潔に作成でき、コードの可読性が向上します。
name = "太郎"
puts "こんにちは、#{name}さん!"
# 出力: こんにちは、太郎さん!
上記の例では、#{name} が name 変数の値に置き換えられます。式展開は文字列リテラル内で評価されるため、変数だけでなく任意の式も埋め込むことが可能です。
変数埋め込みの実践
式展開を使うと、複数の変数を組み合わせてメッセージを作る際に、コードが簡潔になります。以下は、複数変数を組み合わせた例です。
first_name = "花子"
last_name = "山田"
age = 28
puts "#{first_name} #{last_name}さん、#{age}歳です。"
このように、#{} 内に変数名を書くだけで、文字列に埋め込むことができます。さらに、式展開内で演算子を使うこともできます。
price = 1200
tax_rate = 0.08
total = price * (1 + tax_rate)
puts "合計金額は #{total} 円です。"
式展開は、動的文字列を作る際に非常に便利で、コードを短く保つことができます。
動的文字列と評価
Rubyでは、式展開が行われる際に文字列リテラル内の式が評価されます。これは、文字列を生成するタイミングで変数の値が確定することを意味します。以下の例では、変数の値が変更されても、式展開はその時点での値を反映します。
message = "初期メッセージ"
puts "#{message}"
message = "更新されたメッセージ"
puts "#{message}"
出力は
初期メッセージ
更新されたメッセージ
このように、式展開は動的に評価されるため、プログラムの実行中に変数の値を変更しても、次に出力される文字列は最新の値を反映します。
さらに、式展開は複雑な式やメソッド呼び出しも埋め込むことができます。例えば、日付や時間を文字列に組み込む場合は次のようにします。
require 'time'
now = Time.now
puts "現在の時刻は #{now.strftime('%Y-%m-%d %H:%M:%S')} です。"
この例では、strftime メソッドを呼び出してフォーマットした文字列を埋め込んでいます。式展開は、Ruby初心者にとっても直感的に使える機能で、動的文字列を簡潔に書くための便利なツールです。
コメント
コメントを投稿