gpt4 book ai didi

ruby - 未定义方法 `+@' 为假 :FalseClass (NoMethodError) ruby

转载 作者:数据小太阳 更新时间:2023-10-29 08:25:20 24 4
gpt4 key购买 nike

def next_prime_number (last_known_prime)
while true
last_known_prime++

found_factor = false # ERROR
for i in 1...last_known_prime
if last_known_prime % i == 0
found_factor = true
break
end
end
if !found_factor
puts "new prime: #{last_known_prime}"
Kernel.exit
end
end
end

in `next_prime_number': undefined method `+@' for false:FalseClass (NoMethodError)

我遇到了上述错误并且完全被难住了。任何想法(不,这不是家庭作业,我正在尝试通过 Euler 项目自学 Ruby)。

最佳答案

正如 mikej 所说,ruby 中没有后递增 (++) 运算符。但是,有一个一元加号(定义时拼写为 +@)

last_known_prime++

found_factor = false

被解析成类似的东西

last_known_prime + (+(found_factor = false))

--------------------^ unary plus on false

这导致了你的神秘错误。

关于ruby - 未定义方法 `+@' 为假 :FalseClass (NoMethodError) ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3548701/

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