函式式程式設計中的基本概念

2022-01-09 21:46:11 字數 1089 閱讀 7594

假設有乙個函式f,輸入乙個int值,返回乙個string值,在 c# 中,該函式可以表示為:

func
我們可以使用箭頭(→)符號來表示:

f : int → string
箭頭符號是函式式程式設計社群的標準函式符號,與語言無關。

當沒有輸入或沒有輸出(void)時,用()表示。如果有多個輸入或輸出,則用元組表示。

例如:

funcfunc
分別表示為:

() → string

(int, int) → int

對於高階函式,可以巢狀表示。

例如ienumerable.where的簽名:

func, func, ienumerable>

// ienumerablewhere(this ienumerablesource, funcpredicate);

可以表示為:

(ienumerable, (t → bool)) → ienumerable
純函式是指沒有任何***的函式,除了根據輸入值計算輸出值之外,什麼也不做。而不純函式則可能導致***。

***包括:

純函式擁有許多的好處:

誠實的函式始終履行自己的簽名。

例如如下函式,就是乙個誠實的函式:

public int square(int n) => n * n;
而如下函式則是不誠實的:

public int square(int n)

因為它可能返回乙個int值,還可能丟擲異常。

參考:《c# 函式式程式設計》 enrico buonanno 著

函式式程式設計中的基本概念

假設有乙個函式f,輸入乙個int值,返回乙個string值,在 c 中,該函式可以表示為 func int,string 我們可以使用箭頭 符號來表示 f int string箭頭符號是函式式程式設計社群的標準函式符號,與語言無關。當沒有輸入或沒有輸出 void 時,用 表示。如果有多個輸入或輸出,...

程式設計基本概念

程式設計基本概念 一 賦值語句 1.c c code int i 1 void main 在c 中,這樣的賦值操作時合法的,int i i,i變數從宣告的那一刻起就是可見的,main 裡的i不是1,因為它與mian 外的i無關,而是乙個未定義的值。2.include using namespace ...

程式設計的基本概念

程式設計的基本概念 高階語言 低階語言 高階語言是簡單的說是需要軟體翻譯成二進位制 低階語言就面向機器的二進位制 寫乙個簡單的程式步驟 1 人們所說的資料結構,就根據任務 人家提的要求 想得到的輸出後輸入的資料,例子 管理用的軟體能輸出學生姓名年齡。就是資料要輸出的,還有輸入的 2 確定怎麼計算 根...