回答編集履歴
2
JavaScriptのコードにセミコロン(;)をつけ忘れてたorz
answer
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
よって、基本的に、後発の言語でラムダ式を持つ言語は「如何にして```lambda```と言う**伝統的表記法を抹殺する**か」ってのがある種デザインの主題になるわけ。
|
41
41
|
|
42
42
|
```JavaScript
|
43
|
-
(x, y) => x + y
|
43
|
+
(x, y) => x + y;
|
44
44
|
```
|
45
45
|
当然、Kotlinもそういう観点には立つ。
|
46
46
|
```Kotlin
|
@@ -100,6 +100,6 @@
|
|
100
100
|
|
101
101
|
読めるかどうか、ってのは「書く練習が伴って」初めてハッキリするんだよ。
|
102
102
|
日本語だろうと英語だろうと、「書かないと」読解力は上がらない。「読んでるだけじゃダメ」なんだ。国語でも作文があるのは、日本語の読解力に密接な関係があるから、だ。「ある言い回し」は使う練習をしないと自在に書けるようにはならないし、読めるようにならない。
|
103
|
-
上の例だとフィルタリングは簡単だろう。```map```と```reduce```はリスト相手の[繰り返し処理](https://ja.wikibooks.org/wiki/Kotlin/%E5%88%B6%E5%BE%A1%E6%A7%8B%E9%80%A0#%E7%B9%B0%E8%BF%94%E3%81%97%E5%87%A6%E7%90%86)の代替手段だ。```map```はリストの各要素に同一の計算を施し、```reduce```はリストの各要素に計算を施しつつ単一の値(データ)を得る。
|
103
|
+
上の例だとフィルタリングは簡単だろう。```map```と```reduce```はリスト相手の[繰り返し処理](https://ja.wikibooks.org/wiki/Kotlin/%E5%88%B6%E5%BE%A1%E6%A7%8B%E9%80%A0#%E7%B9%B0%E8%BF%94%E3%81%97%E5%87%A6%E7%90%86)の**強力な**代替手段だ。```map```はリストの各要素に同一の計算を施し、```reduce```はリストの各要素に計算を施しつつ単一の値(データ)を得る。
|
104
104
|
この2つを練習しまくろう。特に、一般的には、```reduce```が苦手な人が多いんだけど、これを使いこなせれば見える世界が変わる。
|
105
105
|
と言うわけで、3ヶ月くらい```map```と```reduce```を練習しまくる事をオススメする。最近のモダンな言語だとこれら2つを搭載している言語が多いんで、練習問題はアッチコッチで見つかると思うよ。
|
1
文章を修正。
answer
CHANGED
@@ -74,6 +74,7 @@
|
|
74
74
|
高階関数は大雑把に言うと次の2つの形式の関数を指す。
|
75
75
|
- 関数を引数に取る関数
|
76
76
|
- 関数を返す関数
|
77
|
+
|
77
78
|
例えば「関数を引数に取る関数」の場合、ラムダ式を引数に取れる、って事だ。
|
78
79
|
逆に、「関数を返す関数」だとラムダ式を返り値として使う事が出来る。
|
79
80
|
後者では、有名な問題としては[ポール・グレアム](https://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%AB%E3%83%BB%E3%82%B0%E3%83%AC%E3%82%A2%E3%83%A0)って人が出した[アキュムレータ](https://practical-scheme.net/trans/icad-j.html)の問題がある。Kotlinでは次のように書くだろう。
|