Ruby:条件初始化

塞尔吉克

我已经读过Ruby中的条件初始化和

obj1 ||= Class1.new   

与...相同

obj1 ||obj1 = Class1.new

由于Ruby都是对象,因此我想知道为什么以下语句会引发“ NameError:未定义的方法或名称...”:

x || x = 10

x ||= 10

是正确的陈述

控制台盒

在第一种形式中,x首先被独立引用。与第二种形式不同,x需要先进行定义,否则将引发错误。

> x = nil
=> nil
> x || x = 10
=> 10

该表单同时x ||= 10将声明和测试结合在一起,因此无论是否x早先声明它都不会产生错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章