数の文字列の変換>練習問題

お題

answer = 1 + 2
puts '1たす2は' + answer
という感じのことをしたいときに使いますね。ちなみにこのコードを実行するとエラーとなります。期待通りの表示をさせるには……?

トライ1

puts 1+2 = answer2
answer= answer2
puts '1たす2は' + answer

あうあう!だめ。

calc.rb:1: syntax error, unexpected '=', expecting $end
puts 1+2 = answer2
          ^

CotEditor書いている時点でコンピュータは puts 1+2 の解を知らないですよねえ。ターミナル上で実行した答えを予測してCotEditor上でプログラムするの? うーんうーん…ちょっとまって。

トライ2

var1 = 1 + 2 .to_i
puts var1
puts '1たす2は' + var1

あららあら…ちがいますよねえ。書いている自分が意味分からない。

moomin:programmingRuby tomomi$ ruby calc.rb
3
calc.rb:3:in `+': can't convert Fixnum into String (TypeError)
	from calc.rb:3

トライ3

answer = 1+2
puts '1たす2は ' + answer.to_s 

おおお!!? これで合ってるのかな

moomin:programmingRuby tomomi$ ruby calc.rb
1たす2は 3

表示(puts)を記す時に変数自身を文字列?にする (.to_s)ことでなぜか出ました。これ正しいのかしら、奥が深いな。