次: , 前: Creating Strings, 上: Strings and Characters


4.4 文字列の変更

既存の文字列の内容を変更するもっとも基本的な方法は、 aset(see Array Functions)を使うことです。 (aset string idx char)は、 stringの添字idx位置にcharを格納します。 各文字は1バイト以上を占めます。 charが必要とするバイト数が指定した添字位置の文字が占めるバイト数と 異なる場合には、asetはエラーを通知します。

より強力な関数はstore-substringです。

— 機能: store-substring string idx obj

この関数は、文字列stringの添字idx位置から始まる部分にobjを 格納することで、文字列stringの内容の一部分を変更する。 引数objは文字であるか(より小さな)文字列。

既存の文字列の長さを変更することは不可能なので、 新たな文字に必要なバイト数がstringの当該箇所の文字のバイト数と 異なるなどして、 objstringの実際の長さに収まらないときにはエラーである。