【Ruby3.x】String::[]=()メソッドの使い方
[]=メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
[]=メソッドは、Stringオブジェクトの特定の部分を指定した文字列に置き換えるメソッドです。
このメソッドは、Rubyの文字列操作において、文字列の一部を柔軟に編集するために使用されます。
文字列内の特定の文字を置き換えるには、整数インデックスを使用します。例えば、"Hello"[0] = "J" とすると、文字列の先頭の文字が "J" に変更され、結果は "Jello" となります。
次に、開始インデックスと長さを指定することで、文字列の連続する部分を置き換えることができます。例えば、"abcdef"[1, 3] = "XYZ" と指定すると、インデックス1から3文字分("bcd")が"XYZ"で置き換えられ、結果は "aXYZef" となります。
また、範囲オブジェクト(Range)を使って、"abcde"[1..3] = "XYZ" のように範囲を指定して置き換えることも可能です。この場合、インデックス1から3までの文字("bcd")が"XYZ"に置き換わり、結果は "aXYZde" となります。
さらに、正規表現を引数として渡すことも可能です。この場合、文字列内で正規表現に最初にマッチした部分が指定された文字列で置き換えられます。
このメソッドは、レシーバであるStringオブジェクトの内容を直接変更(破壊的変更)します。返り値は、実際に置き換えに使われた文字列です。システムエンジニアを目指す初心者の方も、文字列の一部を効果的に編集する際にこのメソッドを活用できます。
構文(syntax)
1original_string = "Hello Ruby world" 2original_string[6, 4] = "Python" # インデックス6から4文字を"Python"で置き換えます 3# original_string は "Hello Python world" になります
引数(parameters)
start, length, new_value
- start: 変更を開始する位置を指定する整数。0から始まります。
- length: 変更する文字数を指定する整数。
- new_value: 挿入する新しい文字列。
戻り値(return)
代入された値
Stringクラスの[]= メソッドは、指定したインデックスに新しい文字列を代入した際に、その代入された値を返します。