IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

clojureにcdr, cddr, cdddr, cddddr がない件

自分で定義するのが正解なのでしょうか?

user=> (defn cdr [x] (rest x))
#'user/cdr
user=> (defn cddr [x] (cdr (cdr x)))
#'user/cddr
user=> (defn cdddr [x] (cdr (cdr (cdr x))))
#'user/cdddr
user=> (defn cddddr [x] (cdr (cdr (cdr (cdr x)))))
#'user/cddddr
user=> (cdr (list 'a 'b 'c 'd 'e 'f))
(b c d e f)
user=> (cddr (list 'a 'b 'c 'd 'e 'f))
(c d e f)
user=> (cdddr (list 'a 'b 'c 'd 'e 'f))
(d e f)
user=> (cddddr (list 'a 'b 'c 'd 'e 'f))
(e f)
user=> (cdddddr (list 'a 'b 'c 'd 'e 'f))

CompilerException java.lang.RuntimeException: Unable to resolve symbol: cdddddr in this context, compiling:(/private/var/folders/hw/p4bp49hd7v9_1j60sjvmhqnr0000gn/T/form-init2681034788118954262.clj:1:1) 
user=>