def pregunta
reply = gets.chomp.downcase
if reply == 'si'
puts 'Correcto'
end
if reply == 'no'
puts 'Incorrecto'
end
end
pregunta 'alfkjdasñlfj?'
在我提出一个问题(“pregunta”是英文问题)之后,当我输入答案时,程序应该告诉我是否正确(“correcto”)或错误(“wrongo”)(“si”或“没有”)。我没有得到答案,而是得到了“ArgumentError”。我做错了什么?
我正在使用Ruby 1.9.3-p194
答案 0 :(得分:2)
pregunta不接受参数,但无论如何都要传递一个参数。我可能错了,但不是你想做的事情:
def pregunta(preg)
puts preg
reply = gets.chomp.downcase
if reply == 'si'
puts 'Correcto'
end
if reply == 'no'
puts 'Incorrecto'
end
end
答案 1 :(得分:1)
您没有将值传入函数调用,而是从终端读取它。调用该函数,然后输入您的字符串。
pregunta
si
Correcto
=> nil
答案 2 :(得分:1)
您的方法声明中没有任何参数。
你需要这样的东西:
def pregunta(foo)
if foo == 'bar'
true
end
end
答案 3 :(得分:1)
你打电话给pregunta'alfkjdasñlfj?'但那个方法没有争论。
def pregunta(answer)
reply = answer.chomp.downcase
if reply == 'si'
puts 'Correcto'
end
if reply == 'no'
puts 'Incorrecto'
end
end
pregunta gets
也许?