[Common Lisp] リストから2つずつ取り出したいとき
zip はないけど loop for on by #'cddr がある。
zip2 はないけど cdddr がある。
もちろん cddddr もある。
(loop for (a b) on '(1 2 3 4 5 6 7) by #'cddr
collect (list a b))
;; ((1 2) (3 4) (5 6) (7 NIL))
(loop for (a b c) on '(1 2 3 4 5 6 7) by #'cdddr
collect (list a b c))
;; ((1 2 3) (4 5 6) (7 NIL NIL))
(loop for (a b c d) on '(1 2 3 4 5 6 7) by #'cddddr
collect (list a b c d))
;; ((1 2 3 4) (5 6 7 NIL))
Common Lisp の loop と C++ の STL どっちが。。。
0 件のコメント:
コメントを投稿