入力 | 説明 | デフォ |
---|---|---|
[0]<item> | 要素。 | nil |
[1]<sequence> | シークエンス(リストや文字列)。 | nil |
[&key]<test> | <item>と<sequence>の要素の比較用関数(2変数)。 関数(つまりラムダモードにして)または関数名で指定。 |
eql |
[&key]<test-not> | (通常動作とは逆に、trueを返すものを残すものだが廃止予定らしい。) | nil |
[&key]<start> | 削除の適用を、位置番号が<start>以上<end>未満の範囲に限定する。 | nil |
[&key]<end> | nil | |
[&key]<count> | 削除回数の上限。 | nil |
[&key]<from-end> | <sequence>の後ろから消していく。<count>と一緒に使わないと効果がわからないと思われる。 | nil |
[&key]<key> | 要素に<key>関数を適用したものを<test>に用いる。 | nil |
<sequence>から<item>に一致する要素を取り除いたリストを返す関数。
正確には、<item>と<sequence>の要素を<test>関数でチェックして、trueを返したら取り除いていく。
デフォルトでは<test>はeql関数であるため、一致する要素を取り除いているように振る舞う。
正確には、<item>と<sequence>の要素を<test>関数でチェックして、trueを返したら取り除いていく。
デフォルトでは<test>はeql関数であるため、一致する要素を取り除いているように振る舞う。
keywordを使うと、より高度な削除が可能。
この削除は1次元的なもので、下図右下のようにサブリストには適用されない。
サブリストの要素まで削除するには再帰的に働くlist-filter関数を使う。
また文字列もシークエンスなので使える(音楽的な使い道があるかは分からないが・・・)。
(cf. 下図、string("mother")からcharacter(#\m)を削除する例。)
サブリストの要素まで削除するには再帰的に働くlist-filter関数を使う。
また文字列もシークエンスなので使える(音楽的な使い道があるかは分からないが・・・)。
(cf. 下図、string("mother")からcharacter(#\m)を削除する例。)

添付ファイル