SyntaxHighlighter

2016-04-15

LISP基本概念(1)

繁體中文的LISP的網路教學太少,只好自己寫筆記
起始原因只是因為AutoCAD用的很火大,想要自己寫Batch Script來做轉換
很不巧AutoCAD使用的是VisualLISP,前身是AutoLISP,最最原始的就是LISP,或者我們說是CommonLISP。新潮一點的,可以找Clozure CL

參考網站

  • 維基教科書:LISP入門 - (正體中文)說實在的他不是一個教學AutoLISP的網站,內容也有點舊,但是這是我能看到比較完整的LISP正體中文教材。
  • AfraLISP() - (English)在Google能查到的AutoLISP/Visual LISP免費教學網站,一開始由Kenny Ramage建構,有經過大改版,有很多入門文章。
  • OffshoreCad AutoLISP (SpeedDraft) - (日本語)某公司放出來的教學。也有放出原始碼供參考,算是源碼參考的好站點吧。

LISP的基礎

第一個重點,LISP是一種前制運算元的語言。換句話說,你必須改掉在其他編程語言的習慣。

舉例來說,在一般的加法上,我們也許會寫
a+b
但是在LISP裡面,你必須寫成像這樣
(+ a b)

同理可證,
A*B
必須寫成
(* A B)

ok,這是基本的二元運算,現在我們來看看函數function。
一般的編程語言中,我們會寫
f(x)
而在LISP之中,他會看起來像是
(f x)
直接將引數放在函數名後面,很容易理解吧

當有兩個以上的引數時要怎麼寫呢?在一般的語言中,他會長得像
f(x,y)
而在LISP中,他會看起來像是
(f x y)
非常直覺,很好

最後一個重點,LISP之中指令(或說函數名)是大小寫不分的。

0 件のコメント:

人気の投稿