我看到strip!
和chomp!
(以及其他类似的方法)在字符串未被更改时返回nil
这显然禁止将这些方法组合成一行:
s = 'a' # => "a"
s.strip!.chomp!(',')
# => NoMethodError: undefined method `chomp!' for nil:NilClass
所以我不得不每行写一个:
s.strip! # => nil
s.chomp!(',') # => nil
这是唯一的方法还是我遗漏了什么?
最佳答案
您可以使用这些方法的非变异版本:
s = s.strip.chomp(',')
你可以用分号(但那通常是低级趣味):
s.strip!; s.chomp!(',')