(rontolisp) docs
← 関数

substitute-if

(substitute-if new predicate sequence &key key)

predicate を満たすすべての要素を new に置き換えた新しいシーケンスを返します。その他の要素は変更されません。substituteeql 比較を述語呼び出しに置き換えたものなので、:test は取りません (述語そのものが判定です)。省略可能な :key キーワードに渡したセレクタ関数は、述語が見る前に各要素へ適用されます (置き換える値は new そのものです)。シーケンスにはリスト・文字列・ベクタを渡せ、結果は同じ種類になります。元のシーケンスは変更されません。破壊的な操作にはリスト専用の nsubstitute-if を使います。