前端之家收集整理的这篇文章主要介绍了
Ruby调用方法之前检查是否为nil,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Ruby中有一个字符串,我正在
调用strip
方法来
删除前导和尾随空格.例如
s = "12345 "
s.strip
但是如果字符串为空,我会收到以下错误.
NoMethodError:未定义的方法`strip’为nil:NilClass
我使用的是Ruby 1.9,最简单的方法是在调用strip方法之前检查该值是否为nil?
更新:
我在一个数组中的元素上尝试过,但是遇到了同样的问题:
data[2][1][6].nil? ? data[2][1][6] : data[2][1][6].split(":")[1].strip
Ruby 2.3.0
添加了一个安全的导航操作符(&),它在
调用方法之前检查nil.
s&.strip
如果s为零,它将返回nil,而不是提高NoMethodError.
原文链接:https://www.f2er.com/ruby/273631.html