5

Ruby のドキュメントを参照しているときに、replace メソッドを見つけましたが、このメソッドの使用例がわかりません。

私が考えることができる唯一のことは、メモリ管理についてです(新しい文字列の長さが以前のものと同じかそれ以下の場合、再割り当ては必要ありません)。

何か案は ?

4

2 に答える 2

3

ユースケースは、変数の値を直接変更できる他の言語の参照渡しによく似たものを実現したい場合です。したがって、String をメソッドに渡すことができ、そのメソッドは文字列を別のものに完全に変更する可能性があります。

ただし、文字列を空にし、空の文字列に新しい文字列を追加することで、よりラウンドアバウトな方法で同じことを実現できます。他のクラスにも同様のメソッドがあります (配列とハッシュを参照してください)。

ただし、これらのメソッドを使用する必要性を本当に感じている場合は、自分自身を追い詰めており、文字列全体を変更する必要がある方法 (たとえば、データ構造をメソッドに渡す) 以外の別の方法を探している可能性があります。単なる文字列の代わりに)。

于 2012-05-29T13:24:59.577 に答える
2

部分文字列ではなく、文字列全体を replace メソッドを使用して置き換えることができます。

myString = "Welcome to PHP!"

=> "PHP へようこそ!"

myString.replace "Goodbye to PHP!"

=> "PHP にさようなら!"

ソース - http://www.techotopia.com/index.php/Ruby_String_Replacement,_Substitution_and_Insertion#Changing_a_Section_of_a_String

于 2012-05-29T13:20:38.970 に答える