Plaster

common-lisp
(defun looper1 (n &key fancy) (loop for i from 1 to n if fancy collect (* i i) else collect i)) (defun looper2 (n &key fancy) (loop for i from 1 to n collect (if fancy (* i i) i))) (looper1 5) ; => (1 2 3 4 5) (looper2 5) ; => (1 2 3 4 5) (looper1 5 :fancy t) ; => (1 4 9 16 25) (looper2 5 :fancy t) ; => (1 4 9 16 25)