什么时候会使用字符串的替换方法?

Dav*_*vid 14 ruby

我在搞乱,决定看看是否"abcde".replace("a", "e")会回来"ebcde".事实证明,这不是替换工作的方式(我承认我猜测方法名称,看看是否存在这样的用途).

相反,在阅读文档后,我发现它有奇怪的行为.

string = "abcde"
string.replace("e") #=> "e"
Run Code Online (Sandbox Code Playgroud)

string现在"e".

替换方法有什么意义?对我来说,它看起来像一个setter方法,但你可以轻松做到string = "e".

是否有特定的用例替换?

Uri*_*ssi 4

replace更改当前实例的内容,而不是分配新实例。查看差异:

a = 'old_string'
b = a
b.replace 'new_string'
a
# => "new_string"
Run Code Online (Sandbox Code Playgroud)

a = 'old_string'
b = a
b = 'new_string'
a
# => "old_string"
Run Code Online (Sandbox Code Playgroud)