Scheme Programming language I

Scheme是一種函數式程序設計語言,其中Common Lisp和Scheme是Lisp語言的兩個主要分支。編程

Scheme的原稱爲Schemer.ide

 

1. What defines Scheme?函數

Scheme是第一類支持函數性編程(Functional Programming)的語言。所謂的函數行編程既是:設計

當用Scheme編程的時候,應該儘可能避免"Side-Effects",當已給變量賦值之後,就不該該更改數學

該變量的值。it

函數性編程另一個特色便是:函數比其在其餘編譯性語言中的功能更強大。在Scheme中,函數式io

First-Class Object,比如整數在C語言中的功能,能夠將函數傳遞給函數,從其餘函數中返回函數,編譯

在變量中存儲函數、在運行時,做爲表達式計算。程序設計

 

2.Scheme Programming / Simple Math變量

加法操做

> (+ 2 4)

6

減法操做

>(- 9 8)

1

剩法操做

>(* 7 8)

56

除法操做

>(/ 8 9)

0.8

 

3. Scheme Expression有一下兩點重要屬性:

(1).Scheme Expression能夠嵌套,由此引出一個概念,Substitional Model。

(2).Some Procedure能夠有可變的參數數量。

 

4.Scheme中的數學函數

(1) 指數函數

>(expt 2 10)

1024

(2) 平方根函數

>(sqrt 4)

2

 

5.在Scheme中定義函數

關鍵字lambda用來聲明一個函數或者過程(Procedure),例如:

(lambda (x) (* x x))

定義了一個計算一個數取平方的函數,該函數有一個參數x。

這裏雖然定義了一個函數,可是該函數沒有一個函數名字以供其餘函數調用。

若是想讓該函數能夠被其餘函數調用,應該作以下從新定義:

(define square (lambda (x) (* x x)))

 

6.Scheme中定義變量

Scheme中定義變量有以下兩種方法:

(1) 用define來定義變量,例如:

(define x 2)定義一個變量x,x的值爲2。

通常形式爲:(define variable_name variable_value)

(2)用let 來定義變量,例如:

(let (2 x) (3 y) (* x y))

定義x的值爲2,y的值爲3,同時作了剩法運算。

相關文章
相關標籤/搜索