gpt4 book ai didi

ruby - 未定义的方法错误。我该怎么办?

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:35 24 4
gpt4 key购买 nike

我正在练习用 Ruby 编写代码,当我输入以下代码时,出现以下错误。在这种情况下,我该怎么办?

代码在这里:

class RandomSequence

def initialize(limit,num)
@limit,@num=limit,num
end

def each
@num.times {yield(rand*@limit).floor}
end
end

i=-1

RandomSequence.new(10,4).each do |num|
i=num if i<num
end

http://ideone.com/bSkAXN

我得到的错误信息是:

prog.rb:8:in block in each: undefined method floor for nil:NilClass (NoMethodError)
from prog.rb:8:in times
from prog.rb:8:in each
from prog.rb:14:in <main>

最佳答案

添加括号:

    @num.times {yield((rand*@limit).floor)}

如果没有额外的括号,yield(rand*@limit) 将返回 nil,并且您会得到一个 NoMethodError 用于调用 nil .floor.

关于ruby - 未定义的方法错误。我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com