gpt4 book ai didi

ruby - 为什么 `return a or b` 在 Ruby 中是空值表达式错误?

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

这很好:

def foo
a or b
end

这也很好:

def foo
return a || b
end

这将返回 空值表达式:

def foo
return a or b
end

为什么?它甚至没有被执行;它没有通过语法检查。 void value expression 是什么意思?

最佳答案

return a or b 被解释为 (return a) or b,因此 return a 的值对于计算(return a) 或 b 的值,但由于 return 永远不会在原地留下一个值(因为它从那个位置转义),所以它不是为了返回有效值而设计的在原来的位置。因此,整个表达式只剩下 (some_void_value) 或 b,并被卡住了。就是这个意思。

关于ruby - 为什么 `return a or b` 在 Ruby 中是空值表达式错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935179/

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