2006/07/05

Cryptic

Lisp 果然是另一個世界的東西 XD。氾濫的小括號就不提了,光 "prefix" 帶來的感覺就差很多。例如 Fibanacci 數列的遞迴形式:(defun fib (n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2))))),喚起如 (fib 5),看看最後面那五個右小括號 XD。當然,這使得 Lisp 在語法語意上相對單純,總之就是 LISt Processing。吸收速度比 Ruby 慢很多,沒辦法。

剛剛那函式的縮排,並加上註釋(不過寫 Lisp 應該不這麼縮排):

(defun fib (n)  ; 定義函式 fib,參數 n
 (if (< n 2)  ; 若 n < 2
  n  ; 則核算(evaluate)為 n
  (+ (fib (- n 1)) (fib (- n 2)))  ; 否則核算這個 list(s-expression)
 )
)

果然,馬上就被糾正該這麼寫:

(defun fib (n)
 (if (< n 2)
  n
  (+ (fib (- n 1)) (fib (- n 2)))))

Blogger yen37/05/2006 10:10 am 說:

有看不懂的傾向..orz
括號沒事搞那麼多幹麻..orz

 

<< 回到主頁