(rontolisp) docs
← マップ・セット・ベクター

subseq

(subseq sc test key) / (subseq sc start-test start-key end-test end-key)

clojure.core/subseq: ソート済みコレクション sc の要素(マップなら [k v] エントリー)の うち、キーが境界のテストを満たすものを順に返します。走査はオラクルと同じで、テストが > か >= なら key から始め、それ以外なら先頭から始めてテストが成り立つあいだ続けます。5引数の 形は1つ目の境界から始め、2つ目の境界が成り立つあいだ続けます。テストは比較関数の答えに 適用します((test (cmp 要素 key) 0))。結果は strict なリストで、何も残らなければ nil です(先頭から走査した場合、オラクルは () を表示します)。値として渡したテストは (1 0)・ (0 0)・(-1 0) への答え方で判別します(オラクルはコアの関数との同一性で判別します)。 ソート済みコレクション以外はシグナルを上げます。値としては3引数か5引数を取ります。