3
我很惊讶Ruby中语法敏感的特定位。这些所有的工作:红宝石嵌套分配和无方法方法调用
var = method arg
var2 = (var1 = method arg)
method2(method1 arg)
但这并不:相反
method2(var = method1 arg)
,我必须这样做要么这一点,有额外的括号:
method2(var = method1(arg))
..或者这一点,这是我发现更多含糊不清的版本:
method2 var = method1(arg)
我认为这是一个特定的设计决定或另一个的副作用,并且希望对这些决定有所洞察。
请注意,我不是在寻找任何有关风格的意见;我不是在问什么看起来更好,或者你认为应该或不应该工作。我甚至会规定,如果完全将其分解为两个单独的陈述,那么这个特定的构造就会更清晰。我只是对Ruby为什么会以这种方式工作的真实原因感到好奇,因为任何人都可能拥有这些背景信息。
这是什么古老的说法,只有Perl可以解析Ruby?或者类似的东西... – 2014-09-05 04:14:29
@JörgWMittag - 因为没有人可以提供更多的洞察力,请发表您的评论作为答案,我会接受它。 – 2014-10-07 13:51:07