本帖最後由 hihihi123hk 於 2017-4-2 00:36 編輯
將咁既野

btn.setOnClickListener(new View.OnClickListener() {
            @Override
            publ ...
3ldk 發表於 2017-3-31 17:24


   
FP 其中一個重點: Declarative

Declarative 相反就係 Imperative (99%人一學始學 Programming 就被灌輸嘅 Coding / 解決問題嘅技巧)


解決同一個問題,用 Declarative Style 寫出黎嘅 Code 係必定 Simpler 過 Imperative 寫出黎嘅,基本上一定更加易改、易Maintain


Declarative 重點之重「Simple is NOT easy」 ,無時間自己學+實踐,可以自行 Google 睇下其它人點講

再簡單咁講:
寫 FP 一定係 Declarative Style
寫 Declarative Style 唔一定係寫緊 FP (可以係 RxJava,可以係用緊 React,可以係用緊 Reflux...)

所以學 Declarative Style 首先學寫 FP 一定無死,係一種 Coding 思考模式嘅轉變

via HKEPC Ionic Reader v1.6.0 - iPhone

TOP

FP 其中一個重點: Declarative

Declarative 相反就係 Imperative (99%人一學始學 Programming  ...
hihihi123hk 發表於 2017-4-2 00:33


   
最簡單一個例子去試下自己平時寫開 Imperative / Declarative

而家有一條 Array [1,2,3,4,5,6...N] ,計出所有單數加起後嘅答案。

要你用 javascript 解決呢個問題,寫出你第一個係腦入面浮現嘅 Solution 。

via HKEPC Ionic Reader v1.6.0 - iPhone

TOP

我唔係好識野…但都想講下我既睇法

同FP好似無咩大關係,分別好似係直接new 個onClick function 入去,定係set一個var再放入去…

我反而覺得有以下兩個好處
1)抽左出黎可以reuse 個onClick function,或者換第二個func
2)抽左出黎,可以做unit testing
3)就咁new左出黎…之后就無人再ref到佢

TOP

最簡單一個例子去試下自己平時寫開 Imperative / Declarative

而家有一條 Array [1,2,3,4,5,6... ...
hihihi123hk 發表於 2017-4-2 00:52


(1+n)*n/2

TOP

(1+n)*n/2
KinChungE 發表於 2017-4-2 02:09


   
如果條 Array 唔係 AS 呢  

Array [1,9,2,0,9,6,8... RAND(N)]

via HKEPC Ionic Reader v1.6.0 - iPhone

TOP

回覆 11# hihihi123hk


    哇!好有用

TOP

TOP

清仔 發表於 2017-4-2 14:15


其實我唔係好明
$filter_even = function($item) {
    return ($item % 2) == 0;
};

同埋
function filter_even($item) {
    return ($item % 2) == 0;
}
   
除左多左個"$"之外, 仲有咩分別?

TOP

其實我唔係好明
$filter_even = function($item) {
    return ($item % 2) == 0;
};

同埋
function fil ...
KinChungE 發表於 2017-4-2 03:17 PM

佢係咪想講first class function?
PHP supports first-class functions, meaning that a function can be assigned to a variable.

TOP

回覆 12# hihihi123hk

大概係咁吧 .

    array.reduce( (acc, currValue) => acc + currValue, 0 );

用 FP 去寫係想將個問題再抽象 d .
由一開始無 OO , 到後來 d 問題越來越複雜 , 要抽象 d 去解決 , 就用左 OO .
到現在 d 問題更加複雜 , 加埋近年興起的 multi core, horizontal scalability , 就重推 FP , 用更抽象的方法去解決 .

TOP