clojure備忘録[clojureの基本的な関数 その2(first関数)]

引数で受け取ったリストの先頭要素を新しい要素として返却します。

表記

(first seq)

seqがリストになります。


実例

実際のデータを使って動作を確認してみます。

user=> (first '(1 2 3))
1
user=> 

ちゃんと先頭がとれています。
ネストしたリストも試してみましょう。

user=> (first '((A B C) 1 2 3))
(A B C)
user=> 

先頭の「(A B C)」がとれています。


尚、前エントリのcons関数と同じくこのfirst関数も、
第1引数で渡されるリストに破壊的操作は行っていません。
確認します。

user=> (def value '(1 2 3))   ;データを定義。
#'user/value
user=> value                  ;確認。
(1 2 3)
user=> (first value)          ;先頭要素を取得しても・・・
1
user=> value                  ;元のデータから先頭要素は消えていない。
(1 2 3)
user=>