【发布时间】:2014-06-15 20:45:37
【问题描述】:
我正在使用 Ruby 并尝试创建一个小型银行帐户程序。当我运行这个使用 create_account 运行的特定代码行时:
unless @response.is_a? Integer && @response.to_str.length == 4
puts "Your response must be 4 numbers in length."
create_account
else
@pin = @response
puts "Your pin has been set."
end
我收到了这样的回复:
bank_account.rb:24:in 'is_a?':class or module required (TypeError)
from bank_account.rb:24:in 'create_account'
from bank_account.rb:47:in '<main>'
我无法完全弄清楚发生了什么,但我将我的其余代码包括在内。它不完整,显然是因为我被困在这部分。我经历了一个 while 循环并输入“创建帐户”以启动 create_account 方法。我的目标是运行条件并要求用户输入一个 4 位整数,就像任何 ole pin 号码一样。如果它不是整数也不是 4 位的长度,我调用 create_account 方法让它们重新开始。
如果需要该信息,我正在运行 ruby 2.0.0,但我打赌这可能更多地与我的代码有关。 Stackoverflow 对我来说是新的,所以如果有人问过这个问题,我很抱歉。在提出问题之前,我尝试按照建议做功课,但我仍然很难过。任何帮助表示赞赏。
【问题讨论】:
标签: ruby while-loop integer conditional typeerror