JavaScript函數式編程庫 Prelude.ls
Prelude.ls是一個JavaScript函數式編程庫,這是一個基礎庫,在一定程度上基于Haskell(一種純函數式編程語言)的Prelude模塊。
Prelude.ls基于LiveScript編寫,LiveScript是JavaScript語言的前 身,由網景(Netscape)在設計瀏覽器的時候,為了提高網頁設計的互動性而開發。隨后Netscape與Sun公司進行合作,共同發展 LiveScript語言,并將LiveScript語言改名為JavaScript。
與其他的庫(如underscore.js)不同,在prelude.ls中,所有函數被“柯里化(Currying)”,是指把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,并且返回接受余下的參數且返回結果的新函數。
var takeFour = take(4); takeFour('hello there'); //=> 'hell'
對象映射到對象,字符串映射到字符串:
map(function(x){ return x*2; }, {d: 3, e: 4}); //=> {d: 6, e: 8}
在某些情況下,可以使用對象來作為函數:
map({on: 1, off: 0}, ['on', 'on', 'off', 'on', 'off']); //=> [1, 1, 0, 1, 0]
來自 iteye
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!