gpt4 book ai didi

ruby-on-rails - ruby 空值表达式

转载 作者:行者123 更新时间:2023-12-02 07:59:35 25 4
gpt4 key购买 nike

为什么我会收到空​​值表达式错误?

代码

[return 1]

来自 rib 的错误:

SyntaxError ((irb):3: void value expression)

同样的情况:

def a
[
return 1 if true
2
]
end

最佳答案

为了构造数组,Ruby 必须首先计算数组的内容。但是,两个数组的内容都是一个 return 表达式,它结束了方法的计算。换句话说,数组永远不会被构造,它是完全没有用的。

Ruby 在语法上检测到这种情况,并使其成为错误而不是执行无用的代码。

在Ruby 中,一切都是表达式,这意味着一切都有一个值。但是,对于 return,这让我们有点棘手:return 表达式的值应该是多少?实际上,它没有任何意义,因为一旦 return 被评估,当前上下文就会退出。

因此,return 的值被假定为 void 值,并且每当您在表达式上下文中使用 void 值 时,即,在您希望进一步使用该值的地方,这是一个错误。

关于ruby-on-rails - ruby 空值表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59249789/

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