Ruby Nil和Zero
发布时间:2020-12-16 19:49:31 所属栏目:百科 来源:网络整理
导读:Ruby的NilClass实例中的to_i方法返回零的事实是什么?返回零或提出异常不会更符合逻辑? 解决方法 NilClass定义了#to_i,因为它定义了一个返回[]的#to_a.它给你一些正确的类型,但是一种空白的价值. 这实际上是非常有用的.例如: %= big.long.expr.nil? ? "" :
Ruby的NilClass实例中的to_i方法返回零的事实是什么?返回零或提出异常不会更符合逻辑?
解决方法
NilClass定义了#to_i,因为它定义了一个返回[]的#to_a.它给你一些正确的类型,但是一种空白的价值.
这实际上是非常有用的.例如: <%= big.long.expr.nil? ? "" : big.long.expr %> 变为: <%= big.long.expr %> 更好! (Erb正在调用#to_s,为nil,为“”.)和: if how.now.brown.cow && how.now.brown.cow[0] how.now.brown.cow[0] else 0 end 变为: how.now.brown.cow.to_a[0].to_i 当只需要一个表示时,存在短的转换.长时间的转换是Ruby核心方法调用的转换,它们需要非常接近的东西.如果你想要一个类型检查,请使用它们. 那是: thing.to_int # only works when almost Integer already. NilClass throws NoMethodError thing.to_i # this works for anything that cares to define a conversion (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |