(rontolisp) docs
← 関数

nstring-upcase nstring-downcase nstring-capitalize

(nstring-upcase string) -- (nstring-downcase string) -- (nstring-capitalize string)

string-upcasestring-downcasestring-capitalize の破壊的な綴りです。変換後の文字を引数へ書き戻し、その文字列を返します。変換規則は非破壊版と同一なので、戻り値はどのバックエンドでも同じです。

書き込みが実際に行われるのは 可変な文字ベクタmake-string(make-array n :element-type 'character) が作るもの)の場合です。同一オブジェクトが返り、呼び出し側が保持している参照からも変更が見えます。

不変 な文字列の場合、コンパイル系バックエンドは書き込みではなく再構築を行います。これは添字書き込み((setf (aref s i) c)replacefill)が共通して持つ差異で、呼び出し側の参照はそのまま残り、インタプリタでは変換されます。移植性のあるコードは戻り値を使ってください。戻り値は 4 バックエンドすべてで正しい値です。

変換は文字列全体に及びます。非破壊版と同様、:start / :end は受け付けません。いずれも第一級の関数値なので、#'nstring-upcasefuncallmapcarintern に渡せます。

バックエンド対応

4 バックエンドすべて。rontolisp ソースによる 1 つの定義で、参照されたプログラムにのみ差し込まれます。