Next: , Previous: , Up: Strings and Characters   [Contents][Index]


4.4 Modifying Strings

既存の文字列の内容を変更するもっとも基本的な方法は、aset (see Array Functions)を使用する方法です。(aset string idx char)は、stringのインデックスidxに、charを格納します。それぞれの文字は1文字以上を占有しますが、すでにインデックスの場所にある文字のバイト数が、charが要するバイト数と異なる場合、asetはエラーをシグナルします。

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

Function: store-substring string idx obj

この関数は、インデックスidxで開始される位置にobjを格納することにより、文字列stringの内容の一部を変更します。objは文字、または(stringより小さい)文字列です。

既存の文字列の長さを変更するのは不可能なので、stringの実際の長さにobjが収まらない場合、またはstringのその位置に現在ある文字のバイト数が、新しい文字に必要なバイト数と異なる場合はエラーになります。

パスワードを含む文字列をクリアーするときは、clear-stringを使用します:

Function: clear-string string

これはstringをユニバイト文字列として、内容を0にクリアーします。これによりstringの長さも変更されるでしょう。