数の文字列の変換>練習問題
お題
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)ことでなぜか出ました。これ正しいのかしら、奥が深いな。