Scheme初印象

來源:互聯網
上載者:User

Scheme這個Lisp語言的變種比較有意思。我使用的Scheme版本是DrScheme 2.09,介面比較漂亮。可以在http://www.plt-scheme.org/ 下載到。

 

讓我感覺不適的是Scheme對於運算式的處理,它使用的是一種類似於“首碼運算式”的方式,還要寫一大堆括弧。比如計算3+5,在Scheme就要寫成(+ 3 5),其中“+”和數字之間必須有一空格。我想這可能正是“函數型語言”的模式。Scheme把“+”當成一個函數,這個函數的作用就是計算兩個參數的和。原則上“+”函數只能有兩個參數,但實際上還存在一種簡單寫法。比如一個連加式:
3+5+2+1
可以只用一個“+”代替,寫作:
(+ 3 5 2 1)

在Scheme裡沒有運算優先順序的概念,因為都是函數!所以只能使用()。Scheme解譯器從最裡面的開始計算,一直到最外層,得出結果。比如計算3+5*3就要寫成(+ 3 (* 5 3))。

Scheme的函數定義也很特別,比如定義一個計算圓面積的函數S=3.1416*r*r,可以寫成:
(define (S r)
       (* 3.1416 r r))

令r=5時,調用函數S:
       (S 5)

在同一個程式裡,函數可以多層次調用,比如計算一個圓環的面積:(設內徑為r,外徑為R)。S環=S外-S內,對應Scheme中的函數為:
(define (area out in)
       (- (S out) (S in)))

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.