実行結果その1。
$ ruby pizzaruby.rb
Q: ピザって10回言って
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
Q: (肘を指差しながら)ここは?
R: ひざ
Q: \(^o^)/成功
実行結果その2。
$ ruby pizzaruby.rb
Q: ピザって10回言って
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
R: ピザ
Q: (肘を指差しながら)ここは?
R: ひじ
Q: 「ひざ」って言ってほしかった。。。
サンプルコード。
$ cat pizzaruby.rb
class Questioner
def initialize(name)
@name = name
end
def launchTrap(r)
puts "#{@name}: ピザって10回言って"
r.say("ピザ", 10)
puts "#{@name}: (肘を指差しながら)ここは?"
if r.answer() == "ひざ"
puts "#{@name}: \(^o^)/成功"
else
puts "#{@name}: 「ひざ」って言ってほしかった。。。"
end
end
end
class Respondent
def initialize(name)
@name = name
end
def say(message, num)
num.times{
puts "#{@name}: #{message}"
}
end
def answer()
answers = ["ひざ", "ひざ", "ひじ", "いまどき10回クイズかよ。。"]
a = answers.sample
say(a, 1)
return a
end
end
Questioner.new("Q").launchTrap(Respondent.new("R"))
tags: ruby
Posted by NI-Lab. (@nilab)