Ruby调用方法之前检查是否为nil

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Ruby相关文章