在浏览 ruby 文档时,我发现了 the replace method , 但我不知道这种方法的用例是什么。
我唯一能想到的是内存管理(如果新字符串的长度小于或等于前一个字符串,则无需重新分配)。
有什么想法吗?
最佳答案
如果您想要实现与其他语言中的按引用传递非常相似的功能,那么这个用例就非常适合,在这种情况下可以直接更改变量的值。因此,您可以将一个字符串传递给一个方法,该方法可能会将字符串完全更改为其他内容。
但是,您可以通过清空 String 并将一些新字符串附加到空字符串来以更圆滑的方式实现相同的目的。其他类也有类似的方法(参见 Array 和 Hash)。
但是,如果您发现自己真的觉得有必要使用这些方法,那么您很可能已将自己逼入绝境,应该寻求另一种出路,而不是需要改变整个字符串的方法(例如,将数据结构传递给一个方法,而不仅仅是一个字符串)。
关于ruby - 为什么在 Ruby 中有一个 String#replace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799970/