npt-japanese

% Function MAKE-SEQUENCE

UP


Function MAKE-SEQUENCE

Function MAKE-SEQUENCE

構文

make-sequence result-type size &key initial-element => sequence

引数と戻り値

result-type - sequenceの型指定子
size - 非負の整数
initial-element - オブジェクト。デフォルトは実装依存。
sequence - 正常なシーケンス

定義

型がresult-type、長さがsize、各要素がinitial-elementで初期化された、 シーケンスが返却されます。

もしresult-typelistのサブタイプの場合、 リストが返却されます。

もしresult-typevectorのサブタイプの場合、 実装がresult-typeを要素の型として決めることができるのであれば、 その要素の型をアップグレードした結果が返却値の配列の要素の型になります。 しかし実装が要素の型を決定できないか、あるいは*のときは、 返却値の配列の要素の型はtになります。 その他の場合はエラーが発生します。

例文

(make-sequence 'list 0) =>  ()
(make-sequence 'string 26 :initial-element #\.) 
=>  ".........................."
(make-sequence '(vector double-float) 2
               :initial-element 1d0)
=>  #(1.0d0 1.0d0)
(make-sequence '(vector * 2) 3) should signal an error
(make-sequence '(vector * 4) 3) should signal an error

影響

実装。

例外

initial-elementが、 返却値のsequenceに格納できないオブジェクトであったときの結果は不明です。

result-typeが、 listのサブタイプでも、 vectorのサブタイプでもないとき、 型type-errorのエラーが発します。

result-typeで指定した要素数とsizeの値が違う場合は、 型type-errorのエラーが発します。

参考

make-array, make-list

備考

(make-sequence 'string 5) == (make-string 5)

TOP, Github