L-99:P03にチャレンジしました。
問題
リストからK番目の要素を持ってきなさい。ただし、リストの最初の要素は1とします。
P03 (*) Find the K'th element of a list.
The first element in the list is number 1.
Example:
* (element-at '(a b c d e) 3)
C
答え
(defun element-at (lst n) (if (= n 1) (car lst) (element-at (cdr lst) (1- n))) )
こうかな?あ、まずい、0与えたら死ぬじゃん!
CL-USER> (element-at '(1 2 3 4 5) 0)
これで少しまし。
(defun safe-element-at (lst n) (if (<= n 1) (car lst) (safe-element-at (cdr lst) (1- n))) )