【Ruby3.x】String::dup()メソッドの使い方
dupメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
dupメソッドは、レシーバであるStringオブジェクトの複製を新しく作成するメソッドです。このメソッドを実行すると、元の文字列と同じ内容を持つ、全く新しいStringオブジェクトが生成されます。元のオブジェクトと複製されたオブジェクトは、異なるメモリ上の領域に存在するため、お互いに独立した存在となります。
具体的には、dupメソッドで作成された複製オブジェクトを変更しても、元のオブジェクトには一切影響を与えません。これにより、元の文字列を保護しながら、その内容を元にした別の操作を行いたい場合に非常に役立ちます。
Rubyにはcloneメソッドも複製を作成するために存在しますが、dupメソッドは主にオブジェクトのインスタンス変数(Stringの場合はその文字列データ)のみをコピーします。フリーズ状態や特異メソッドといった、より詳細な属性まではコピーしません。そのため、シンプルに文字列の内容だけをコピーして独立した新しいオブジェクトを作成したい場合に、dupメソッドが適しています。
構文(syntax)
1original_string = "Hello Ruby".freeze 2duplicate_string = original_string.dup 3puts duplicate_string 4puts duplicate_string.frozen?
引数(parameters)
引数なし
引数はありません
戻り値(return)
String
このメソッドは、レシーバとなる文字列オブジェクトの完全なコピー(独立した新しいオブジェクト)を返します。