日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

有用函数编程

發布時間:2023/11/27 生活经验 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有用函数编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

《序》

感謝

關于本書

關于封面

第一部分 學習函數式思維

? 第一章 不同的思維

??? 1.1 什么是函數式編程?

????1.2 通往有用函數編程之路

??? 1.3 用函數式編程提高生產力

????????1.3.1 函數范式

? ? ????1.3.2 聲明式編程風格

?? ?????1.3.3 了解程序的執行

?? ? ???1.3.4 設計并發友好的應用程序

?? ? ???1.3.5 函數風格怎樣形成代碼

??? 1.4 函數式編程演示樣例

? ??? ? 1.4.1 用聲明式風格表達意圖

? ??? ? ? ? 1.4.1.1 用 LINQ 處理數據

? ??? ? ? ? 1.4.1.2 用 XAML 描寫敘述用戶界面

? ??? ? ? ? 1.4.1.3 聲明式函數動畫

? ??? ? 1.4.2 理解使用不可變性的代碼

? ??? ? ? ?? 1.4.2.1 閱讀函數式程序

? ??? ? 1.4.3 編寫有效的并行程序

? ??? ? ? ? 1.4.3.1 并行化不可變程序

? ??? ? ? ? 1.4.3.2 使用 PLINQ 的聲明式并行

? ? 1.5 F# 簡單介紹

? ? ? ? 1.5.1 用 F# 寫 Hello world

? ? ? ? 1.5.2 從簡單到有用

? ? ? ??? ? 1.5.2.1 從簡單開始

? ? ? ??? ? 1.5.2.2 到穩健結束

? ? 1.6 小結

?? 第二章 函數編程的核心概念

??? 2.1 函數編程的基礎

??? 2.2 函數程序的計算?????? 2.2.1 使用不可變值

???????2.2.2 使用不可變數據結構

???????2.2.3 用遞歸改變程序狀態

???????2.2.4 用表達式取代語句

???????2.2.5 計算 (Computation by calculation)

??? 2.3 編寫聲明式代碼

????? ? 2.3.1 函數也是值

????? ? 2.3.2 高階函數(Higher-order functions)

??? ? ?? ?? 2.3.2.1 使用高階函數擴展詞匯

??? ? ?? ?? 2.3.2.2 面向語言編程(Language-oriented programming)

? ? 2.4 函數式類型和值

?? ? ?? 2.4.1 C# 和 F# 中的類型判斷

? ? ??? 2.4.2 區別聯合類型(discriminated union type)

?? ???? 2.4.3 模式匹配(Pattern matching)

??????? 2.4.4 編譯時檢查程序

?? ? ?? ? ? 2.4.4.1 度量單位(UNITS OF MEASURE)

??? 2.5 第二章小結


????第三章 F# 和 C# 中元組、列表和函數

? ??3.1 值和函數的聲明

? ? ? ??3.1.1 值的聲明和作用域

? ? ? ??3.1.2 函數的聲明

? ? ? ? ? ??3.1.2.1 函數簽名(FUNCTION SIGNATURES)

? ? ? ? ? ??3.1.2.2 嵌套函數聲明(NESTED FUNCTION DECLARATIONS)

? ? ? ??3.1.3 聲明可變值

????3.2 使用不可變數據結構

? ? ? ??3.2.1元組類型(tuple)

? ? ? ? ? ??3.2.1.1 在 F# 中使用元組

? ? ? ? ? ??3.2.1.2 在 C# 中使用元組

? ? ? ??3.2.2 用 C# 實現元組類型

? ? ? ? ? ??3.2.2.1 更好地判斷 C# 元組類型

? ? ??? 3.2.3 計算元組

?? ? ?? 3.2.4 模式匹配元組

????3.3 列表和遞歸

? ?? ?? 3.3.1 遞歸計算

? ?? ?? 3.3.2 函數式列表

? ? ? ?? ?? 3.3.2.1 用模式匹配分解列表

? ?? ?? 3.3.3 C# 中的函數式列表

? ?? ?? 3.3.4 處理函數式列表

? ? ? ?? ?? 3.3.4.1 用 C# 求列表中數字的和

? ? ? ?? ?? 3.3.4.2用 F# 求列表中數字的和

????3.4 函數也是值

? ?? ?? 3.4.1 處理數字列表

? ? ? ?? ?? 3.4.1.1 在 C# 中傳遞函數作為參數值

? ? ? ?? ?? 3.4.1.2 在 F# 中傳遞函數作為參數值

? ?? ?? 3.4.2 參數化函數的優點

????3.5 第三章小結


????第四章 通過演示樣例探索 F# 和 .NET 庫

????4.1 用 F# 繪制餅圖

????4.2 用 FSI 編寫和測試代碼

? ?? ?? 4.2.1 載入和解析數據

? ? ? ? 4.2.2 計算數據

????4.3 創建控制臺應用程序

????4.4 創建 Windows Forms 應用程序

? ?? ?? 4.4.1 創建用戶界面

? ?? ?? 4.4.2 繪制圖形

? ? ? ?? ?? 4.4.2.1 創建隨機顏色的畫筆

? ? ? ?? ?? 4.4.2.2 繪制餅圖部分

? ? ? ?? ?? 4.4.2.3 用函數畫圖

? ? ? ?? ?? 4.4.2.4 繪制整個圖表

? ? ? ?? ?? 4.4.2.5 加入文本標簽

? ?? ?? 4.4.3 創建 Windows 應用程序

????4.5 第四章小結

????

第二部分 函數技術的基礎

????第五章 局部使用函數值

????5.1 什么是值?

? ?? ?? 5.1.1 基本類型、值類型和對象

? ?? ?? 5.1.2 認識值和數據

????5.2 多值(Multiple values)

? ?? ?? 5.2.1 F# 和 C# 中的多值

? ? ? ?? ?? 5.2.1.1 用元組取代 out 參數

??????? 5.2.2 元組類型和值的構造函數

? ?? ?? 5.2.3 組合使用元組

? ? ? ?? ?? 5.2.3.1 避免復雜的元組

????5.3 可選值(Alternative values)

? ?? ?? 5.3.1 F# 中的區別聯合(discriminated unions)

? ?? ?? 5.3.2 使用可選值

? ? ? ?? ?? 5.3.2.1 用 F# 匹配區別聯合

? ? ? ?? ?? 5.3.2.2 用 C# 模擬區別聯合

? ?? ?? 5.3.3 加入類型還是函數

? ?? ?? 5.3.4 F# 中的選項(option)類型

? ? ? ?? ?? 5.3.4.1 實現 F# 中簡單的選項類型

????5.4 泛型值(Generic values)

? ?? ?? 5.4.1 在 C# 中實現選項類型

? ?? ?? 5.4.2 F# 中的泛型選項類型

? ?? ?? 5.4.3 值的類型判斷

? ? ? ?? ?? 5.4.3.1 C# 3.0 中的類型判斷

? ? ? ?? ?? 5.4.3.2 F# 中的類型判斷

? ?? ?? 5.4.4 寫泛型函數

??? 5.5 函數值

? ?? ?? 5.5.1 Lambda 函數

? ? ? ?? ?? 5.5.1.1 類型批注、動作和語句塊(TYPE ANNOTATIONS, ACTIONS, AND STATEMENT BLOCKS)

? ?? ?? 5.5.2 函數類型

? ? ? ?? ?? 5.5.2.1 函數作為參數值和返回值

? ?? ?? 5.5.3 多參數函數

? ? ? ?? ?? 5.5.3.1 散函數應用(PARTIAL FUNCTION APPLICATION)

??? 5.6 第五章小結


??? 第六章 使用高階函數處理值

????6.1 泛型高階函數

? ?? ?? 6.1.1 F# 中的泛型函數

? ?? ?? 6.1.2 自己定義運算符

? ? ? ?? ?? 6.1.2.1 在 C# 中模擬自己定義運算符

? ? ? ? ?? 6.1.2.2 F# 的管道運算符

????6.2 處理元組

? ?? ?? 6.2.1 使用函數處理元組

? ?? ?? 6.2.2 C# 中處理元組的方法

??? 6.3 處理計劃

? ?? ?? 6.3.1 處理計劃列表

? ?? ?? 6.3.2 在 C# 中處理計劃

????6.4 處理選項類型

? ?? ?? 6.4.1 使用 map 函數

? ?? ?? 6.4.2 使用 bind 函數

? ?? ?? 6.4.3 分步分析(Evaluating)演示樣例

? ?? ?? 6.4.4 實現選項類型的操作

? ? ? ? ?? 6.4.4.1 在 C#中使用選項類型

????6.5 使用函數

? ?? ?? 6.5.1 函數組合

? ?? ?? 6.5.2 C# 中的函數組合

????6.6 類型判斷

? ?? ?? 6.6.1 F# 中函數調用的類型判斷

? ? ? ? 6.6.2 自己主動泛型化(automatic generalization)

????6.7 處理列表

? ?? ?? 6.7.1 用F# 實現列表

? ?? ?? 6.7.2 理解列表函數的類型簽名

? ? ? ?? ?? 6.7.2.1 處理列表

? ?? ?? 6.7.3 實現列表函數

? ? ? ?? ?? 6.7.3.1 在 C# 中實現 fold

????6.8 通用處理語言

? ?? ?? 6.8.1 映射、篩選和折疊(Mapping, filtering, and folding)

? ?? ?? 6.8.2 列表的綁定操作

????6.9 第六章小結

????第七章 以數據為中心的程序設計

????7.1 函數式數據結構

? ? ? ??7.1.1 使用 F# 記錄類型

? ? ? ? ? ??7.1.1.1 處理記錄

? ? ? ??7.1.2 C# 中的函數式數據結構

????7.2 平面文檔的表示

? ? ? ??7.2.1 繪制元素

? ? ? ??7.2.2 在窗口上顯示畫圖

????7.3 表示結構化文檔

? ? ? ??7.3.1 轉換表示

? ? ? ??7.3.2 用 XML 表示文檔

????7.4 寫操作

? ? ? ??7.4.1 用映射操作進行更新

? ? ? ??7.4.2 使用聚合操作進行計算

????7.5 面向對象的表示方法

? ? ? ??7.5.1 用結構模式表示數據

? ? ? ? ? ??7.5.1.1復合設計模式(THE COMPOSITE DESIGN PATTERN)

? ? ? ? ? ??7.5.1.2 裝飾設計模式(THE DECORATOR DESIGN PATTERN)

????第八章 以行為為中心的程序設計

????8.1 使用行為集合

? ? ? ??8.1.1 把行為表示為對象

? ? ? ??8.1.2 在 C# 中把行為表示成函數

? ? ? ??8.1.3 在 C# 中使用函數集合

? ? ? ??8.1.4 在 F# 中使用函數列表

????8.2 用于處理函數的習慣用語

? ? ? ??8.2.1 策略設計模式(The strategy design pattern)

? ? ? ??8.2.2 命令設計模式(The command design pattern)

? ? ? ? ? ??8.2.2.1 在 C# 中使用命令模式捕獲狀態

? ? ? ??8.2.3 在 F# 使用閉包捕獲狀態

? ? ? ? ? ??8.2.3.1 可變狀態使用引用單元

? ? ? ? ? ??8.2.3.2 在閉包中捕捉引用單元

????8.3 使用組合行為

? ? ? ??8.3.1 函數的記錄

? ? ? ??8.3.2 構建組合行為

? ? ? ??8.3.3 F# 代碼的進一步演變

? ? ? ? ? ??8.3.3.1 C# 中的組合行為

????8.4 組合數據和行為

? ? ? ??8.4.1 決策樹(Decision trees)

? ? ? ??8.4.2 F# 決策樹

? ? ? ??8.4.3 C# 決策樹

? ? ? ? ? ??8.4.3.1 模板方法模式

? ? ? ? ? ??8.4.3.2 函數式實現

????8.5 第八章小結


? ??第三部分 F# 高級編程技術

????第九章 把值轉變成 F# 帶成員的對象類型

????9.1 改進以數據為中心的應用程序

? ?? ?? 9.1.1 加入成員到 F# 類型

? ?? ?? 9.1.2 使用類型擴展追加成員

????9.2 改進以行為為中心的應用程序

? ?? ?? 9.2.1 使用保存的函數記錄

? ?? ?? 9.2.2 使用接口對象類型

????9.3 使用 .NET 接口

? ?? ?? 9.3.1 使用 .NET 集合

? ?? ?? 9.3.2 用 IDisposable 接口清理資源

? ? ? ?? ?? 9.3.2.1 用keyword use 編程

????9.4 詳細的對象類型

? ?? ?? 9.4.1 函數式和命令式類

? ?? ?? 9.4.2 實現接口和類型轉換

? ? ? ?? ?? 9.4.2.1 在 F# 中實現接口

? ? ? ?? ?? 9.4.2.2 F# 中的向上轉換和向下轉換(UPCASTS AND DOWNCASTS)

????9.5 在 C# 中使用 F# 庫

? ?? ?? 9.5.1 處理記錄和成員

? ?? ?? 9.5.2 使用值和托付

????9.6 第九章小結

????第十章 數據結構的效率

????10.1 優化函數

? ?? ?? 10.1.1避免尾遞歸的堆棧溢出

? ? ? ?? ?? 10.1.1.1 使用累加器參數

? ?? ?? 10.1.2 使用記憶化緩存結果

? ? ? ?? ?? 10.1.2.1 C# 和 F# 中可重用的記憶化

????10.2 處理大集合

? ?? ?? 10.2.1 用尾遞歸避免棧溢出(續!)

? ?? ?? 10.2.2 高效處理列表

? ? ? ? ? ? 10.2.2.1 加入元素到列表

? ?? ?? 10.2.3 處理數組

? ? ? ?? ?? 10.2.3.1 以函數方式使用數組

? ? ? ?? ?? 10.2.3.2 在 C# 中以函數風格使用數組

????10.3 連續(continuations)

? ?? ?? 10.3.1 樹處理的難點

? ?? ?? 10.3.2 利用連續的代碼

? ? ? ?? ?? 10.3.2.1 使用連續處理樹

????10.4 第十章小結

????第十一章 重構和測試函數式程序

????11.1 重構函數式程序

????11.1.1 重用常見的代碼塊

????11.1.2 跟蹤依賴性和副作用

????11.1.2.1 使用可變數據結構

????11.1.2.2 使用不可變數據結構

????11.2 測試函數式代碼

????11.2.1 從交互式控制臺到單元測試

????11.2.1.1 在 F# 交互環境中測試程序

????11.2.1.2 在 F# 中寫單元測試

????11.2.2 測試結構相等

????11.2.2.1 結構相等和比較

????11.2.2.2 測試列表

????強大的復制工具 Robocopy

????system 執行 cmd

????11.2.3 測試組合函數

????11.3 重構計算順序

????安裝 WIn8.1 創建用戶問題

????11.3.1 不同的計算策略

????11.3.1.1 C# 和 F# 中的提前計算

????11.3.1.2 Haskell 的延遲計算策略

????11.3.2計算策略的比較

????11.3.3 用函數模擬延遲計算

????11.3.4 F# 中的延遲值

????11.3.4.1 實現或和延遲或

????11.3.5 為 C# 實現延遲值

????11.4 有用延遲值

????11.4.1 無窮列表

????11.4.2 在照片瀏覽器中緩存值

????11.4.2.1 使用延遲值進行緩存

????11.4.2.2 實現用戶界面

????11.5 第十五章小結

????第十二章 序列表達式和可選工作流

????12.1 生成序列

????12.1.1 使用高階函數

????12.1.2 在 C# 中使用迭代器

????12.1.3 使用 F# 序列表達式

????12.1.3.1 寫序列表達式

????12.1.3.2 組合序列表達式

????12.2 掌握序列表達式

????12.2.1 遞歸的序列表達式

????12.2.2 無窮序列

????12.3 處理序列

????找不到符號

????12.3.1 用迭代器轉換序列

????12.3.2 篩選和映射

????12.3.2.1 使用高階函數

????12.3.2.2 使用查詢和序列表達式

????12.3.3 平面映射(flattening projection)

????12.3.3.1 序列表達式中的平面映射

????12.3.3.2 直接使用平面映射

????12.3.3.3 在 C# 中使用平面映射

????把 Win 8.1 升級成 Windows 2012 R2

????12.4 可選工作流(alternative workflows)

????12.4.1 自己定義查詢表達式

????12.4.2 自己定義 F# 語言

????12.5 自己定義計算的第一步

????12.5.1 聲明計算類型

????12.5.2 寫計算

????12.5.3 在 F# 中實現計算生成器

????12.5.4 在 C# 中實現查詢操作

????不急不躁修硬盤

????12.6 實現選項的計算表達式

????12.7 給計算添加日志記錄

????12.7.1 創建日志記錄計算

????12.7.2 創建日志記錄計算

????12.7.3 使用計算表達式進行重構

????12.8 第十二章小結






轉載于:https://www.cnblogs.com/yangykaifa/p/6880177.html

總結

以上是生活随笔為你收集整理的有用函数编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。