【发布时间】:2013-02-27 16:43:56
【问题描述】:
我无法确定以下 ruby 内联救援代码有什么问题
def test_check()
p "first st"
t = 5 * lsdj rescue return false
p "second"
end
p test_check
这是一条错误消息syntax error, unexpected kFALSE, expecting kEND
但如果我删除赋值语句,它会正常工作(返回 false)。
def test_check()
p "first st"
5 * lsdj rescue return false
p "second"
end
如果出现问题,ruby 中内联救援的正确语法是什么。
【问题讨论】:
-
+1。一个非常好的问题。人们会期望修饰符规则在这两种情况下解析相同,而这个问题的答案涉及到很多关于为什么 Ruby 是这样的问题。也许只有 Matz 知道完整的答案,但我在下面贡献了我对它的理解。
标签: ruby syntax syntax-error