Clojure の rest と next の違い
2010年05月19日
rest
は残りの要素がない場合は空のシーケンスを返す。
next
は残りの要素がない場合は nil
を返す。
(next [1 2 3])
は (seq (rest [1 2 3]))
と同じ意味。
user=> (doc rest) ------------------------- clojure.core/rest ([coll]) Returns a possibly empty seq of the items after the first. Calls seq on its argument. nil user=> (doc next) ------------------------- clojure.core/next ([coll]) Returns a seq of the items after the first. Calls seq on its argument. If there are no more items, returns nil. nil user=> (rest [1 2 3]) (2 3) user=> (next [1 2 3]) (2 3) user=> (rest "hello") (\e \l \l \o) user=> (next "hello") (\e \l \l \o) user=> (rest '()) () user=> (next '()) nil user=> (rest "") () user=> (next "") nil
プログラミングClojure
posted with amazlet at 10.05.19
Stuart Halloway
オーム社
売り上げランキング: 8244
オーム社
売り上げランキング: 8244