標題:
Lazy...Lazy....XD
[列印本頁]
作者:
caterpillar
時間:
2013-6-4 16:58
標題:
Lazy...Lazy....XD
看到這篇 Lazy.js 作者的介紹…
http://philosopherdeveloper.com/posts/introducing-lazy-js.html
想到 Java 中的這篇…
http://cr.openjdk.java.net/~briangoetz/lambda/sotc3.html
其實 Python 中也有類似概念,像是 map、filter 函式,實際上傳回的是 map、filter 物件,而不是 list…
作者:
caterpillar
時間:
2013-6-4 17:03
JavaScript:
var array = Lazy.range(1, 1000).toArray();
console.log("First 10 squares that are evenly divisible by of 3:");
var sequence = Lazy(array)
.map(function(x) { return x * x; })
.filter(function(x) { return x % 3 === 0; })
.take(10)
.each(function(x) { console.log(x); });
複製程式碼
Java 中類似的操作:
int sum = shapes.stream()
.filter(s -> s.getColor() == BLUE)
.map(s -> s.getWeight())
.sum();
複製程式碼
不過有人覺得這樣很醜,但也有人說這樣比較明確,就 Java 的調調而言,還是明確比較好,畢竟不會因為少了個 stream 呼叫,就讓 Java 變得不囉嗦一些…XD
作者:
codedata
時間:
2013-6-6 16:04
既然談到了 Lazy,那就來看看這個神人,懶惰的錯誤處理:
http://apocalisp.wordpress.com/2008/05/16/thrower-functor/
作者:
caterpillar
時間:
2013-6-7 10:59
我看到他的程式碼排版,第一個想到的是 Clojure 或 Lisp…XD
作者:
google117922654
時間:
2013-6-27 16:10
回復
4#
caterpillar
真的
不過不知道為什麼一點也不覺得很難讀
作者:
caterpillar
時間:
2013-6-27 17:23
回復
5#
Steven Yang
橫向展開是函數式的基本排版風格,也許是你寫過函數式的東西吧!
作者:
google117922654
時間:
2013-6-28 10:14
回復
6#
caterpillar
大學第一個語言是Scheme現在在用Scala學functional programming
作者:
caterpillar
時間:
2013-6-28 10:51
回復
7#
Steven Yang
有機會來交流一下函數式的心得吧!…
http://openhome.cc/eGossip/Blog/
歡迎光臨 CodeData 技術論譠 (http://codedata.com.tw/forum/)
Powered by Discuz! 7.2