函式式程式設計之純函式

2022-02-07 09:52:43 字數 593 閱讀 3003

純函式 我們應該還記得初中的一些數學知識,函式f的概念就是,對於輸入x產生乙個輸出y=f(x),這就是普通的純函式。它的定義是 相同的輸入,結果總會得到相同的輸出,而且沒有任何可觀察的***,也不依賴外部環境的狀態。

最常見的乙個例子就是在我們運算元組的時候slice就是純函式,splice就是不純的,看下面的例子

我們不希望splice,因為它會把原來資料弄得一團糟

不依賴外部狀態 看看下面這個例子

var i = 20;

function

test(num) else

}test(22) ;

function

test(num) else

}test(22) ;

這裡我們可以用柯里化解決擴充套件性問題

function

test(min)

else}}

var compare = test(20) ;

compare(20) ;//

大於20

柯里化就是先傳遞部分引數返回乙個函式去處理剩下的引數(這裡因為閉包對引數進行儲存)

函式式程式設計之lambda

函式式程式設計 在js python等指令碼語言中經常可以看到已函式作為變數來傳遞的用法,這種方法使得程式多是在建立函式 或建立函式 執行 的路上。更甚至一些簡單的方法完全不需要呼叫 引入 庫就可以用簡單的幾行 來解決,可以使得程式專注於做某件事而不被外部因素影響,這個特點使得在多執行緒時不易出現問...

python函式式程式設計之偏函式

偏函式 partial function。在python中偏函式的作用是把函式的某些引數給固定住了 設定默值 返回乙個新的函式,呼叫這個新的函式會更簡單。int 函式可以把字串轉換為整數,當僅傳入字串時,int 函式預設按十進位制進行轉換 int 12345 12345但是int 函式還提供額外的b...

Python函式式程式設計之reduce函式

reduce f,itr reducer 先將itr 迭代器 裡面的前兩個值傳遞給函式 f 計算出結果,然後再同第三個值通過 f 計算出結果。一直迭代,直到沒有其他值為止。譬如 reducer f,v1,v2,v3,v4 轉化後的方程是 f f f v1,v2 v3 v4 高階函式 reducer ...