【发布时间】:2015-09-16 12:54:46
【问题描述】:
replace 改变当前字符串而不是返回一个新实例。为了与 Ruby 中的其他方法保持一致,它似乎应该被称为 replace! 这是一个错误/不一致还是我错过了什么?
【问题讨论】:
-
@sawa 他还提到他可能错过了一些东西......所以冷静:)
-
@sawa 我试图让我的问题的语气反映这一点。我问这个问题的真正原因是我想知道我误解了什么,因为 ruby 是一般一致的。感谢 pyRabbit 的评论,我发现了 bang(!) 的含义。
-
顺便说一句,有几种破坏性方法没有爆炸:
clear,concat,insert,prepend,......文档甚至提到了这一点:“通常,名称以“!”结尾的方法修改其接收者,而没有“!”的方法返回一个新字符串。但是,也有例外”
标签: ruby immutability