加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用nil初始化时,Ruby的效果是什么:x = String(nil)

发布时间:2020-12-17 01:22:50 所属栏目:百科 来源:网络整理
导读:将nil传递给构造函数时,Ruby中的效果如下所示: s = String(nil) 要么 a = Array(nil) 这是否意味着s或a是nil或者s或a是String类型或类型Array的无人居住对象? 解决方法 String(arg) 在arg上调用to_s并返回结果. nil.to_s 返回一个新的空字符串. String(nil
将nil传递给构造函数时,Ruby中的效果如下所示:

s = String(nil)

要么

a = Array(nil)

这是否意味着s或a是nil或者s或a是String类型或类型Array的无人居住对象?

解决方法

String(arg)在arg上调用to_s并返回结果. nil.to_s返回一个新的空字符串. String(nil)因此返回一个新的空字符串.

Array(arg)尝试在arg上调用to_ary然后调用to_a,返回存在的第一个方法的结果(如果两个方法都不存在,则返回[arg]). NilClass没有to_ary方法,但nil.to_a返回一个新的空数组.因此,Array(nil)返回一个新的空数组.

请注意,String(arg)和Array(arg)不是构造函数.它们只是Kernel中定义的全局方法.要在Ruby中构造对象,通常在类上调用new,例如Array.new(2)创建一个长度为2的数组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读