为什么在Ruby中有一个String#替换?

Sch*_*ron 5 ruby string replace

在浏览ruby文档时,我找到了替换方法,但我无法弄清楚这个方法的用例是什么.

我唯一能想到的就是内存管理(如果新字符串的长度小于或等于之前的长度,则不需要重新分配).

有任何想法吗 ?

d11*_*wtq 3

如果您想实现类似于其他语言中的引用传递的功能,即可以直接更改变量的值,那么该用例实际上就是这样。因此,您可以将字符串传递给方法,该方法可能会将字符串完全更改为其他内容。

但是,您可以通过更全面的方式实现相同的目标,方法是清空字符串并向空字符串附加一些新字符串。其他类也有类似的方法(参见Array 和Hash)。

然而,如果您发现自己确实需要使用这些方法,那么您很可能已经把自己逼到了墙角,应该寻找另一种出路,而不是需要改变整个字符串(例如将数据结构传递到方法中,而不仅仅是一个字符串)。