第二部分 基本的函數技術
在本書的開始,我們說過函數程式設計建立在非常不同基礎之上的,超過你過去用過的。讀後第一部分以後,你應該對如何生成程式有了一些概念,使用原則,如不可變性和遞歸。我們還看到基本類型,如元組和清單,用來編寫我們第一個較大的函數應用程式。現在,知道函數的概念結如何合在一起,我們可以更系統地看一下由 F# 和其他函數語言提供的基本構造塊。
F# 中,往往從嘗試使用最基本的函數特性開始。這種方式,可以快速獲得可以工作的代碼,并嘗試不同的方法,以選擇最佳的解決方案。在第二部分中,我們将回顧所有的基本函數特征,能夠編寫出程式的第一個版本。我們已經看到元組類型作為一個例子的簡單的資料結構,但是,還有其他類型和其他方法可以使用。
在第二部分中,我們将回顧所有的基本函數特征,能夠編寫出程式的第一個版本。
在第 5 章,将讨論值和資料的差別。值用程式的局部,如從函數傳回的元組,除法計算餘數。一個元組的清單是資料的示例中,存儲餅圖項(第 4 章),因為它是整個應用程式使用的一個主要資料結構。
我們也會回顧用于聲明和建立函數值的資料類型,并探讨如何使用這些值。
在第 6 章,我們将仍專注值,但是,要看一下計算值的更友善的方法,使用高階函數(higher-order functions):函數取其他的函數作為參數值。
在第 7 和第 8 章,我們會将焦點移至函數程式設計的體系方面,探索表示和使用資料的方式。我們會讨論以資料為中心和 以行為為中心的應用程式之間的差別。第 7 章,我們将讨論的應用程式,其設計由使用的資料決定,在第 8 章中讨論的應用程式,其主資料結構表示了某種形式的行為。我們将會看到,結構化的面向對象設計模式與在第 7 章中的以資料為中心的程式之間,以及行為模式與第 8 章中的以行為為中心的應用程式之間的關系。
到第二部分結束時,你就會明白所有的函數類型,以及如何在實際的函數設計中使用它們。你将能夠以不同的方式思考程式設計任務,因為你會熟悉所有的函數結構,它決定了應用程式的組織和編寫的方式。
在第三和第四部分,我們将讨論哪些可以方面改善,以及更加現實的示例,但是,來自這部分的概念将一直是堅實的基礎。