質問編集履歴
5
関係のないcompose() 等を削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,23 +21,17 @@
|
|
21
21
|
|
22
22
|
|
23
23
|
### Transducerとは
|
24
|
-
1. `compose()`するには、関数がカリー化されている必要がある。
|
25
|
-
2. `compose()`される関数は、必ずreducer(map, filter等)が部分適用され残り1引数が配列を取る状態である必要がある。
|
26
|
-
|
24
|
+
1. `compose()`して返却された関数構成群がtransducerである。
|
25
|
+
2. transducerを実行するには、❶`transduce()`に渡す以外にも、❷`transducer()`に配列を渡す事でも実行できる。
|
26
|
+
5. ❷の内部処理において、中間値が生成されるような処理ではなく、下画像のような効率的な処理がなされる。
|
27
27
|
|
28
|
-
4. 1.2. が正しい場合。transducerを実行するには、❶`transduce()`に渡す以外にも、❷`transducer()`に配列を渡す事でも実行できる。
|
29
|
-
5. 内部処理について。❷の場合でも、JavaScriptのチェイニングの様な中間値が逐次生成されるような処理ではなく、
|
30
|
-
|
31
|
-
|
32
28
|

|
33
29
|
via:画像ソース元 [Understanding Transducers in JavaScript@Roman Liutikov -Medium](https://medium.com/@roman01la/understanding-transducers-in-javascript-3500d3bd9624#6a68)
|
34
30
|
|
35
|
-
上記のような効率的な処理がなされる。
|
36
31
|
|
37
32
|
|
33
|
+
**自分で書いたコード**
|
38
34
|
|
39
|
-
自分でコードも書いてみました。
|
40
|
-
|
41
35
|
```js
|
42
36
|
"use strict";
|
43
37
|
|
4
ビルトイン→ライブラリ 修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
- [TRANSDUCERS ARE COMING by Rich Hickey -cognitect](http://blog.cognitect.com/blog/2014/8/6/transducers-are-coming)
|
14
14
|
- [Transducers -Clojure.org](https://clojure.org/reference/transducers)
|
15
15
|
|
16
|
-
Clojureは公式ページのチュートリアル2ページほど読み、基礎構文初歩は理解しました(CommonLispの基礎部分を以前少しやっており理解できました)。transducerの例に出てくる
|
16
|
+
Clojureは公式ページのチュートリアル2ページほど読み、基礎構文初歩は理解しました(CommonLispの基礎部分を以前少しやっており理解できました)。transducerの例に出てくるライブラリの関数等は、逐次調べ、例題コードの理解率は75%ほどです、多分。。
|
17
17
|
|
18
18
|
|
19
19
|
## 質問
|
3
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,15 +17,15 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
## 質問
|
20
|
-
以下の理解・コード
|
20
|
+
以下の理解・jsコードが合っている・間違っている のかを知りたいです。ご教授宜しくお願い致します<(_ _)>????
|
21
21
|
|
22
22
|
|
23
23
|
### Transducerとは
|
24
|
-
1. compose()するには、関数がカリー化されている必要がある。
|
24
|
+
1. `compose()`するには、関数がカリー化されている必要がある。
|
25
|
-
2. compose()される関数は、必ずreducer(map, filter等)が部分適用され残り1引数が配列を取る状態である必要がある。
|
25
|
+
2. `compose()`される関数は、必ずreducer(map, filter等)が部分適用され残り1引数が配列を取る状態である必要がある。
|
26
|
-
3.
|
26
|
+
3. `compose()`して返却された関数構成群がtransducerである。
|
27
27
|
|
28
|
-
4. 1.2. が正しい場合。transducerを実行するには、❶
|
28
|
+
4. 1.2. が正しい場合。transducerを実行するには、❶`transduce()`に渡す以外にも、❷`transducer()`に配列を渡す事でも実行できる。
|
29
29
|
5. 内部処理について。❷の場合でも、JavaScriptのチェイニングの様な中間値が逐次生成されるような処理ではなく、
|
30
30
|
|
31
31
|
|
2
タイトル変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
transducer
|
1
|
+
transducerを実装したjsコードを書いてみましたが、合っているか分かりません
|
body
CHANGED
File without changes
|
1
タグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|