0

liveScript で関数をパラメーターとして渡す正しい方法は何ですか?

たとえば、配列のreduce関数を使いたいとしましょう。従来のJavaScriptでは、次のように記述します

myArray.reduce(function (a,b) {return a + b});

これは、次のように liveScript に非常にうまく変換されます。

myArray.reduce (a,b) -> a + b

ここで、2 番目のパラメーターを指定して初期値を設定します。

myArray.reduce(function (a,b) {return a + b},5);

これを liveScript に変換するにはどうすればよいでしょうか? 最初の関数は、reduce に追加のパラメーターを渡す機能をオーバーライドしているようです。

明らかな何かを見逃していたら申し訳ありませんが、このシナリオに関連するものはドキュメントで見つけられないようです

4

4 に答える 4

2

を使用~して引数をバインドしthis、それを呼び出しflipて最初と 2 番目のパラメーターを入れ替えることができます。

flip [1, 2, 3]~reduce, 0, (a, b) -> a + b

コールバック本体が非常に長い場合、これはより読みやすいかもしれません。

于 2015-12-25T12:38:41.197 に答える
0

他の答えを補完するために、LiveScript は binops を提供し、演算子を括弧で囲みます。

[1 2 3].reduce (+), 0
于 2015-12-08T17:34:27.013 に答える