函式式程式設計

2021-08-07 10:46:02 字數 755 閱讀 1421

函式式程式設計與函式呼叫完全不是一回事,函式式程式設計中的函式這個術語不是指計算機中的函式(實際上是subroutine),而是指數學中的函式,即自變數的對映。也就是說乙個函式的值僅決定於函式引數的值,不依賴其他狀態。比如sqrt(x)函式計算x的平方根,只要x不變,不論什麼時候呼叫,呼叫幾次,值都是不變的。

簡單說,」函式式程式設計」是一種」程式設計正規化」(programming paradigm),也就是如何編寫程式的方**。

主要思想是把運算過程盡量寫成一系列巢狀的函式呼叫。舉例來說,現在有這樣乙個數學表示式:

(1 + 2) * 3 - 4

傳統的過程式程式設計,可能這樣寫:

var a = 1 + 2;

var b = a * 3;

var c = b - 4;

函式式程式設計要求使用函式,我們可以把運算過程定義為不同的函式,然後寫成下面這樣:

var result = subtract(multiply(add(1,2), 3), 4);

這段**再演進以下,可以變成這樣

add(1,2).multiply(3).subtract(4)

merge([1,2],[3,4]).sort().search(「2」)

要想學好函式式程式設計,不要玩py,玩erlang,haskell,

函式式程式語言python 函式式程式設計

函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...

函式式程式設計

最近在看一些關於js方面的東東,除了些ajax的基本應用,還了解了些函式式程式設計 fp 的東東。雖然以前也玩過幾天lisp的,不過因為當時完全對fp的東西沒有概念,壓根就不知道原來這是list那一族最大的特性之一 另外我知道的還有個是gc,orz.光注意那些詭異的 表 去了。總結一下,傳統上認為f...

函式式程式設計

維基百科 函式式程式設計 英語 functional programming 或者函式程式設計,又稱泛函程式設計,是一種程式設計范型,它將計算機運算視為數學上的函式計算,並且避免使用程式狀態以及易變物件。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當...