ruby - 为什么在 Ruby 中有一个 String#replace?

标签 ruby string replace

在浏览 ruby​​ 文档时,我发现了 the replace method , 但我不知道这种方法的用例是什么。

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

有什么想法吗?

最佳答案

如果您想要实现与其他语言中的按引用传递非常相似的功能,那么这个用例就非常适合,在这种情况下可以直接更改变量的值。因此,您可以将一个字符串传递给一个方法,该方法可能会将字符串完全更改为其他内容。

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

但是,如果您发现自己真的觉得有必要使用这些方法,那么您很可能已将自己逼入绝境,应该寻求另一种出路,而不是需要改变整个字符串的方法(例如,将数据结构传递给一个方法,而不仅仅是一个字符串)。

关于ruby - 为什么在 Ruby 中有一个 String#replace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799970/

相关文章:

ruby - 使用 Rspec 进行 gem 测试

javascript - Rails 手动调用特定的 js.rb

ruby 克隆一个对象

python、string.replace() 和\n

JQuery 对象上的 JavaScript 替换似乎不起作用

linux - Sed:如何替换复杂的字符串

正则表达式:将 '@@' 替换为 '@',将 '@' 替换为一些字符串

ruby - 从 Sinatra 内部调用 Sinatra

java - 将字符串添加到此字符串数组的最有效方法是什么?

C 多维 char 数组 - 赋值从指针生成整数,无需强制转换