scivola様、今回はご指摘ありがとうございます。
式展開
文字列の中に変数を記述すると変数に格納されている文字列の中の変数の置き換えます。
またrubyの場合は#{}の中には変数だけでなく、任意に式も記述出来る為,「変数展開」ではなく「式展開」と呼ぶのが良い。
ダブルクォートの場合、式展開が行われる
name = "Qiita"
puts "こんにちは, #{name}さん"
result
$ こんにちは、Qiitaさん
シングルクォートの場合、式展開が行われない。
name = 'Qiita'
puts 'こんにちは、#{name}さん’
result
$ こんにちは、#{name}さん
getsメソッドを使ってみよう。
getメソッドを使うとキーボードからの入力を受け取れる、
getメソッドが呼ばれると、コードの読み込みがそこで一時停止して、入力が終わると、続きから読み込みが再開される。
p "名前を入力してください"
name = gets #入力待ちで処理が止まる。
puts "こんにちは、 #{name}"
演習
メソッドを複数代入面白い。
puts "名前を入力してください(半角英数字)"
"rudiments"
name = gets.chomp #chompメソッドは改行を取り消すメソッド
name_length = name.length #name_lengthに対して、nameの文字数を数えるlengthメソッドを追加定義して代入している。
現在のname変数
gets.chomp
name.lengthの二つのメソッドが代入されている。
puts "あなたの名前は#{name_length}文字です。"
result
$ あなたの名前は9文字です。