Return items of a list in Lisp -
i have write program in lisp returns first item of list if contains number of elements, , last if contains odd number of elements. need little advice on start? don't need whole program.
you can length of list length
.
(length '(a b c)) ;; 3
you can go , check number against predicate function evenp
, returns t
or nil
depending on if argument or not.
(evenp 1) ;; nil (evenp 2) ;; t
the function first
returns first element of list.
(first '(a b c)) ;;
the function last
returns last cons of list, you'll have unwrap value using first
.
(last '(a b c)) ;; (c) (first (last '(a b c))) ;; c
you combine these function so:
(defun get-first-if-even-length (list) (if (evenp (length list)) (first list) (first (last list))))
this function returns first or last element in list, depending if length or not.
Comments
Post a Comment