- 表達式
(+ 123 456)
(* 2 10)
……
像這樣的稱為組合式
而把運算符放在最左邊的這種形式稱為前綴表示,前綴表示的優點在于可以帶有任意參數,而且參數也可以是組合式,這樣就可以嵌套 - 命名和環境
define,最簡單的抽象方法,用于關聯(定義)一個名字與其值
可以實現將復雜的過程進行抽象
當我們使用define對值和符號進行關聯的時候,我們可以使用這個符號去取出它的值,這個時候,意味著解釋器必須有相應的存儲能力,這種存儲稱之為環境(全局環境) - 組合式的求值
過程:1.求值該組合式的各個子表達式;2.將最左子表達式,即運算符,作用于對應的參數,即其它子表達式的值
環境所扮演的角色就是確定表達式中各個符號的意義
define的作用是為符號關聯一個值,因此(define x y)并非組合式,屬于一種特殊形式 - 復合過程
過程定義
(define (<name> <formal parammeters>) <body>)
- 過程應用的代換模型
歸約:可以理解為求值過程,或者替換
分為** 應用序 和 正則序 **
** 應用序 **:先歸約再展開,效率更高
** 正則序 **:完全展開再進行歸約 - 條件表達式
** cond **:直到遇到為真的條件
** if **:為真時選擇前者,否則選后者
** and **:從左至右,遇到假則為假,否則為最后一個值
** or **:從左至右,遇到真則為這個值,否則為假
** not **:非 - 牛頓法求平方根
利用遞歸的思想,不斷逼近 - 過程作為黑盒抽象
將復雜的過程集中,無需理會其中的處理,只需要知道其得出的結果,是一種抽象過程,隱藏細節
** 局部名 **:不用關心形式參數的名字,過程參數名局部于有關的過程體
** 內部定義和塊結構 **:過程的形式參數是相應過程體里的局部名字,塊結構,可以在過程里帶有內部定義,這些內部定義是局部于這一過程的
第一章11節
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 軟件工程大師能夠組織好自己的程序,預先發現自己程序的行為方式,即使發生問題也能很快的排出錯誤,就像一部汽車一樣,擁...