メソッドgets と .chomp
puts 'こんにちは。あなたのお名前は?' name = gets puts 'あら、' + name + 'でございますか。どもども' puts 'どぞよろしく' + name + 'さん。'
moomin:ProgrammingRuby tomomi$ ruby gets.rb こんにちは。あなたのお名前は? tomomii あら、tomomii でございますか。どもども どぞよろしくtomomii さん。
なるほど、コードを書いた通りEnterキーを認識して 'あら、tomomii'の後ろと'どぞよろしく tomomii' の後ろで行が変わっちゃうのですね。それを解除するのが .chompというわけ。試してみましょ。
puts 'こんにちは。あなたのお名前は?' name = gets .chomp puts 'あら、' + name + 'でございますか。どもども' puts 'どぞよろしく' + name + 'さん。'
moomin:ProgrammingRuby tomomi$ ruby gets.rb こんにちは。あなたのお名前は? tomomii あら、tomomiiでございますか。どもども どぞよろしくtomomiiさん。
うまくいきました。
練習問題 1
最初に姓、次に名を尋ねた後、フルネームに対してあいさつするようなプログラムを書いてみましょう
puts 'あなたの名字を教えてくださいな' name1 = gets .chomp puts 'なんとびっくり!' + name1 + 'さん。変わった名字ですねえ、お名前は?' name2 = gets. chomp puts 'ほう、' + name2 + 'さんとおっしゃいますか。' puts 'こんにちは、' + name1 + name2 +'さん。どうぞよろしくね。'
moomin:ProgrammingRuby tomomi$ ruby gets.rb あなたの名字を教えてくださいな にゃー なんとびっくり!にゃーさん。変わった名字ですねえ、お名前は? tomomii ほう、tomomiiさんとおっしゃいますか。 こんにちは、にゃーtomomiiさん。どうぞよろしくね。
お、一発で出ました。しかし名字と名前の間のスペースの取り方がわからない。うーん。
練習問題 2
好きな数を入力してもらい、それに1を加えて その結果をより大きくてベターなお気に入りの数として勧めるプログラムを書きましょう(機転の利いたサジェスチョンに努めましょう)
へえ?わからない。
1を加えてってどゆこと。
puts 'あなたの好きな数字はなんですか?' fig = gets .chomp puts fig + 'が好きとはこれまた素敵ですね' puts fig + 'に' + 1 + 'を加えてみましょう。'
moomin:ProgrammingRuby tomomi$ ruby gets.rb あなたの好きな数字はなんですか? 100 100が好きとはこれまた素敵ですね 100に1を加えてみましょう。 gets.rb:6: undefined local variable or method `r' for main:Object (NameError)
機転の利いたサジェスチョンとかよくわかんない…プログラムする以前の問題な気がする。