而不是
str.downcase!
str.gsub!(/\W/, "")
看来我应该能够连续使用多个破坏性的 String 方法:
str.downcase!.gsub!(/W/, "")
有时这可行,但有时会导致错误。
irb(main):001:0> str = "Foobar!"
"Foobar!"
irb(main):002:0> str.downcase!.gsub!(/\W/, "")
"foobar"
irb(main):003:0> str
"foobar"
irb(main):004:0> str.downcase!.gsub!(/\W/, "")
NoMethodError: undefined method `gsub!' for nil:NilClass
from (irb):4
from /usr/bin/irb:12:in `<main>'
为什么是这样?