kind=defined
names=[]=
visibility=public

--- []=(nth, val) -> val

nth 番目のバイトを文字列 val で置き換えます。
val が 0 から 255 の範囲の整数である場合、
文字コードとみなしてその文字で置き換えます。

val を返します。

@param nth    置き換えたいバイトのインデックス
@param val    指定バイトと置き換える文字列もしくはバイト

例:

    buf = "string"
    buf[1] = "!!"
    p buf   # => "s!!ring"

--- []=(nth, len, val) -> val

nth バイト番目から長さ len バイトの部分文字列を文字列 val で置き換えます。
nth が負の場合は文字列の末尾から数えます。

val を返します。

@param nth    置き換えたい部分文字列の開始インデックス
@param len    置き換えたい部分文字列の長さ
@param val    指定範囲の部分文字列と置き換える文字列

例:

    buf = "string"
    buf[1, 4] = "!!"
    p buf   # => "s!!g"

--- []=(substr, val) -> val

文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。

self が substr を含まない場合は
例外 [[c:IndexError]] が発生します。

val を返します。

@param substr    置き換えたい部分文字列のパターンを示す文字列
@param val       指定範囲の部分文字列と置き換える文字列

@raise IndexError    self が部分文字列 substr を含まない

例:
     buf = "string"
     buf["trin"] = "!!"
     p buf   # => "s!!g"

     buf = "string"
     buf["nosuchstring"] = "!!"   # IndexError

--- []=(regexp, nth = 0, val) -> ()

正規表現 regexp の nth 番目の括弧にマッチする
最初の部分文字列を文字列 val で置き換えます。
nth を省略したときや nth が 0 の場合は、
マッチした部分文字列全体を val で置き換えます。

正規表現がマッチしなければ例外 [[c:IndexError]] が発生します。

val を返します。

@param regexp    置き換えたい部分文字列のパターンを示す正規表現
@param nth       置き換えたい部分文字列のパターンを示す正規表現レジスタの番号
@param val       指定範囲の部分文字列と置き換えたい文字列

例:
    buf = "string"
    buf[/tr../] = "!!"
    p buf   # => "s!!g"

    buf = "def exec(cmd)"
    buf[/def\s+(\w+)/, 1] = "preprocess"
    p buf    # => "def preprocess(cmd)"

--- []=(range, val) -> val

rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。

val を返します。

@param range   置き換えたい範囲を示す [[c:Range]] オブジェクト

