[英]What am I doing wrong in this Ruby code?
def pregunta
reply = gets.chomp.downcase
if reply == 'si'
puts 'Correcto'
end
if reply == 'no'
puts 'Incorrecto'
end
end
pregunta 'alfkjdasñlfj?'
我問了一個問題(“ pregunta”是英語問題)后,當我輸入答案(“ si”或“ no”)時,程序應告訴我是對的(“ correcto”)還是錯的(“ incorrecto”) )。 我沒有得到答案,而是得到了“ ArgumentError”。 我究竟做錯了什么?
我正在使用Ruby 1.9.3-p194
pregunta不帶參數,但是無論如何您都要傳遞一個。 我可能是錯的,但您不是要這樣做:
def pregunta(preg)
puts preg
reply = gets.chomp.downcase
if reply == 'si'
puts 'Correcto'
end
if reply == 'no'
puts 'Incorrecto'
end
end
您沒有在函數調用中傳遞值,而是從終端讀取它。 調用該函數, 然后輸入您的字符串。
pregunta
si
Correcto
=> nil
您的方法聲明中沒有任何參數。
您將需要以下內容:
def pregunta(foo)
if foo == 'bar'
true
end
end
您在稱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
也許 ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.