(rnrs mutable-strings (6)) ライブラリで提供される string-set! 手続きにより、文字列をその場で変更することができるようになる。
k は string の有効な添字でなければならない。 string-set! 手続きでは string の k 番目の要素に char を格納し、未定義値を返す。
string-set! に変更不可能な文字列を渡すと &assertion 型の例外が発生する。
(define (f) (make-string 3 #\*)) (define (g) "***") (string-set! (f) 0 #\?) ⇒ unspecified (string-set! (g) 0 #\?) ⇒ unspecified ; should raise &assertion exception (string-set! (symbol->string ’immutable) 0 #\?) ⇒ unspecified ; should raise &assertion exception
注: 実装系は string-set! を定数時間で実行できるようにすべきである。
与えられた string の各要素に char を格納し、未定義値を返す。