2006/07/05

迴圈

Common Lisp 還有這種東西:

(defun plot (fn min max step)
  (loop for i from min to max by step do
        (loop repeat (funcall fn i) do (format t "*"))
        (format t "~%")))

看到 loop for i from min to max by step do 的時候我傻眼了,這和我想像的 Lisp 有相當大的差距 :P。我想像中的 Lisp 是「常數 + 函式 + 遞迴 + 無窮無盡的 lists」。喔,最後一點是沒錯,但有迴圈有變數…感覺上是用怪異語法寫熟悉內涵,還不如 Ruby 的 iterator + block 來得新穎(而後者本身也不會太新穎)。還是繼續看完再說吧。

--
原來 Blogger 可以不打標題。