僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
car と cdr 一つずつの組み合わせはあるようだけど、 それ以上は、手元環境では用意されてないかも。
(cadr '((1 2 3) (4 5 6) (7 8 9))) (4 5 6) (cdar '((1 2 3) (4 5 6) (7 8 9))) (2 3) (cddr '((1 2 3) (4 5 6) (7 8 9))) ((7 8 9)) (caar '((1 2 3) (4 5 6) (7 8 9))) 1
(caddr '((1 2 3) (4 5 6) (7 8 9))) Debugger entered--Lisp error: (void-function caddr) (caddr (quote (... ... ...))) eval((caddr (quote (... ... ...)))) eval-last-sexp-1(t) eval-last-sexp(t) eval-print-last-sexp() call-interactively(eval-print-last-sexp nil nil)
無ければ作れ。ということか。
(defun caddr (list) (car (cdr (cdr list)))) caddr (caddr '((1 2 3) (4 5 6) (7 8 9))) (7 8 9)
for x in ... みたいなものか。
foreach はあまり使ったことなかったっけ。
(defun multi (n) (* n n)) (mapcar #'multi '(1 2 3)) (1 4 9)
mapcar #'FUNC list は、 (mapcar (function FUNC) list) になるらしい。
ついでにもう一つ。
(mapcar (function car) '((*) (1 2 3) (4 5 6) (7 8 9))) (* 1 4 7) (eval (mapcar (function car) '((*) (1 2 3) (4 5 6) (7 8 9)))) 28
clisp を立ち上げるのが面倒になってきて (面倒にならないカスタマイズが、まだできない)、 昨日も今日も、専らEmacsLisp。 (Common Lisp に似てるようだし)。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。