gpt4 book ai didi

ruby - catch/try block 不在 Ruby 中运行

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

我在运行以下 Ruby 代码片段时遇到语法错误。

catch(:outer)
m, n = 1,1
loop do
catch(:inner)
for i in 3 .. 100
m, n = (m*2), m
throw :outer if m > 9_999
throw :inner if m > 5_000
end # for-loop
end # catch(:inner)
end # loop
end # catch(:outer)
#=> syntax error, unexpected keyword_end, expecting $end

它不喜欢最后的两个 end 语句。有什么问题吗?

最佳答案

正确的语法是:

catch(:outer) do
m, n = 1,1
loop do
catch(:inner) do
for i in 3 .. 100
m, n = (m*2), m
throw :outer if m > 9_999
throw :inner if m > 5_000
end # for-loop
end # catch(:inner)
end # loop
end # catch(:outer)

ruby block 与 do-end 对或 {} 匹配,catch-end 不是像 for-end 这样的 ruby​​ 语句

关于ruby - catch/try block 不在 Ruby 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26189681/

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