【有庫存】NT售價: 395 元
OCaml語言是一種函數式程序設計語言。本書重點介紹函數式編程的基礎知識以及OCaml程序設計的技巧,同時兼顧應用軟件開發的需求。全書共8章,前5章講解OCaml語言的函數式控制結構、數據結構、模塊化程序設計、命令式程序設計和圖形程序設計;第6章介紹如何把OCaml移植到F#,第7章介紹通過C#開發的用戶界面調用OCaml或F#程序,第8章介紹面向對象程序設計。本書適合想要學習OCaml程序語言或者想要學習函數式編程的讀者閱讀參考。
第 1章 函數式控制結構 11.1 OCaml解釋器 21.2 表達式和let定義 31.3 let局部定義 61.4 基本類型 81.4.1 整數類型int 91.4.2 浮點類型float 111.4.3 字符類型char 131.4.4 unit類型和簡單輸入輸出 141.4.5 字符串類型string與 printf函數 151.4.6 bool類型和if表達式 181.5 乘積類型和模式匹配初步 211.6 函數和函數類型 231.6.1 簡單函數 231.6.2 函數表達式 281.6.3 function和fun比較 301.6.4 高階函數 311.6.5 遞歸函數 331.6.6 相互遞歸函數 361.6.7 模式匹配表達式 361.7 多態類型 401.7.1 類型變量 401.7.2 類型推導 421.8 λ演算對函數式語言的影響 441.9 中綴操作符與前綴操作符 451.10 同構函數和柯里化 461.11 循環迭代函數 471.12 本章小結 511.13 練習 52第 2章 函數式數據結構 552.1 函數式數據類型和自動存儲管理 552.2 類型的顯式定義 592.3 記錄類型 612.3.1 記錄類型和記錄的創建 622.3.2 函數的記錄參數 632.3.3 記錄字段的重名 632.3.4 記錄的部分重建 642.3.5 記錄字段簡寫 652.3.6 多態記錄類型 652.4 聯合類型 652.4.1 帶參數的構造子 672.4.2 由單個構造子構成的聯合類型 682.4.3 遞歸類型 682.4.4 帶多態變量的聯合類型 702.4.5 表 702.4.6 值的遞歸定義 712.4.7 多態變體 712.5 表的編程技術 732.5.1 表的基本操作 732.5.2 定義表處理函數 752.5.3 線性表的同態映射 782.5.4 快速排序算法 802.6 函數運行時間分析 832.7 程序文件的解釋執行和編譯執行 852.8 和C語言比較執行效率 882.9 尾遞歸 902.10 option類型和關聯表 912.11 帶標簽的函數參數以及 可選參數 922.11.1 標簽參數 922.11.2 可選參數 932.11.3 標簽參數和可選參數的顯式類型說明 942.11.4 高階函數與標簽參數和可選參數 952.11.5 帶標簽的標準庫 962.12 延遲求值 962.13 本章小結 982.14 練習 99第3章 模塊化程序設計 1023.1 基于無序表的集合 1033.2 基于有序表的集合 1053.3 模塊和接口 1063.4 函子 1113.5 函子的接口 1153.6 用Set庫構造專用集合模塊 1193.7 生成質數集合 1213.8 異常處理 1253.8.1 異常表達式 1253.8.2 異常捕獲 1263.8.3 幾個常見的異常 1283.9 模塊的層次結構 1293.9.1 多層模塊 1293.9.2 模塊和文件 1303.9.3 自動模塊化編譯ocamlbuild 1323.9.4 多參數函子 1333.9.5 模塊局部打開和模塊包含 1343.10 模塊用做表達式 1363.11 抽象類型 1383.11.1 抽象類型的作用和限制 1383.11.2 私有抽象類型 1393.11.3 局部抽象類型 1413.12 動態構造模塊接口 1423.12.1 用接口構造接口 1433.12.2 從模塊推導接口 1443.13 本章小結 1443.14 練習 146第4章 命令式程序設計 1494.1 引用變量和賦值語句 1504.2 可更改的記錄分量 1534.3 數組 1554.4 字符串和字節序列 1604.5 弱類型變量和多態函數的部分作用 1634.6 Printf庫和格式化輸出 1654.7 Scanf庫和格式化輸入 1684.8 文件輸入輸出 1714.9 命令式控制結構 1744.9.1 賦值語句 1744.9.2 順序控制 1754.9.3 操作符“|>” 1764.9.4 循環控制 1774.9.5 修改輸入參數的函數 1784.10 編程案例:四向鏈表 1784.11 散列表、棧、隊列及 命令式模塊 1854.12 本章小結 1894.13 練習 190第5章 模塊化圖形程序設計 1925.1 生成帶圖形庫的OCaml解釋器 1935.2 圖形窗口 1935.3 圖形窗口初始化及參數設置 1965.4 事件循環 1985.5 顏色設置 1995.6 模塊化圖形編程 2005.7 文本數字環及字符串繪制 2045.8 端點小環及圖形填充 2085.9 端點連接線及弧線繪制 2125.10 命令行參數 2175.11 電機接線圖的完整代碼 2205.12 本章小結 2255.13 練習 226第6章 移植OCaml圖形程序到F# 2296.1 打開窗體 2306.2 窗體初始化 2326.3 在窗體中間畫圓 2346.4 基本作圖模塊 2356.5 文本數字環 2396.6 端點小環 2426.7 連接線 2446.8 F#版電機接線圖完整代碼 2456.9 怎樣提高OCaml代碼的可移植性 2526.10 本章小結 2536.11 練習 254第7章 多語言聯合程序設計 2557.1 軟件總體架構 2557.2 C#調用OCaml命令行作圖程序 2577.3 C#調用F#動態共享DLL作圖程序庫 2597.4 C#調用Access數據庫 2617.5 本章小結 264第8章 面向對象程序設計 2658.1 類和對象 2668.2 基于對象方法畫電機圓 2688.3 類的繼承 2698.4 多重繼承 2718.5 多重繼承中的同名方法 2728.6 同名方法的延遲綁定 2758.7 私有方法 2758.8 虛擬類和子類型 2768.9 類中的多態類型 2798.10 多態類的繼承 2838.11 二元方法 2878.12 子類型與子類 2888.13 類的類型 2928.14 對象之間的相等關系 2938.15 面向對象的電動機接線程序 2948.16 本章小結 3038.17 練習 305附錄 部分習題參考答案 307參考文獻 315