我看到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!(',')

10-06 14:45