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.

http://stackoverflow.com/questions/12425465/ruby-check-if-nil-before-calling-method

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Ruby调用方法之前检查是否为nil