回答編集履歴
2
タイポ修正
answer
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
一つ気を付けるのは、xの最大値は今までは整数だ、と言う前提でやってきたが、ここからは[浮動小数点数](https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0)もアリ、って事にする。結果、配列生成時に`mx`/`dx`が[浮動小数点数](https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0)になる可能性があり、整数じゃない場合エラーになる。そこで[Math.floor()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)で小数点以下の数を切り捨てて整数化してる。
|
|
16
|
+
一つ気を付けるのは、xの最大値は今までは整数だ、と言う前提でやってきたが、ここからは[浮動小数点数](https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0)もアリ、って事にする。結果、配列生成時に`mx`/`dx`が[浮動小数点数](https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0)になる可能性があり、整数じゃない場合エラーになる。そこで[`Math.floor()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)で小数点以下の数を切り捨てて整数化してる。
|
|
17
17
|
|
|
18
18
|
例えば、正弦関数とxが0〜πの範囲で囲まれた面積(の近似値)は
|
|
19
19
|
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
さて、余再帰関数`unfold`は相当自由度が高い関数だ。明示的なルールさえあればどんな配列だろうと`seed`から作り出してしまう。
|
|
76
76
|
一方、「自由度が高い」と言うのは、しばしば「大げさだ」を意味する。要はオーバースペックになり得る、って事だよな。
|
|
77
77
|
今までは「抽象度が高い事は良い事だ」と言う態度で来た。しかしここでは、「常用するなら機能限定版の方がラク」と言う話をする。今までと真逆だ(笑)。
|
|
78
|
-
例えば関数`calcArea`のアルゴリズムで、[`Array.prototype.map()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map)で処理した配列の要素
|
|
78
|
+
例えば関数`calcArea`のアルゴリズムで、[`Array.prototype.map()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map)で処理した配列の要素の総和を取る際に[`Array.protopyte.reduce()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)を利用した。[`Array.protopyte.reduce()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)は適用範囲が広く、殆ど最強、って言って良いメソッドだ。しかしながら、「最強」であるが故に「オーバースペックだ」ってのも事実なんだ。
|
|
79
79
|
仮に、`sum`って関数が備わっていたらもっと気楽に使えるだろう。もっと言っちゃうと、[`Array.protopyte.reduce()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)の機能限定版として、`sum`を[`Array.protopyte.reduce()`](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)で書いちゃえ、って事なんだ。
|
|
80
80
|
|
|
81
81
|
```JavaScript
|
1
タイポ修正
answer
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
となる。理論値は積分で計算せざるを得ないが2となる。
|
|
26
26
|
まぁまぁ良い近似度と言えるだろう。
|
|
27
27
|
|
|
28
|
-
このように、単純なf(x) = x 相手から始めたが、高階関数を使って、最終的には、少なくとも初
|
|
28
|
+
このように、単純なf(x) = x 相手から始めたが、高階関数を使って、最終的には、少なくとも初等的な数学関数相手なら、特定の範囲での面積の近似値を返す汎用的な関数を育て上げたわけだ。
|
|
29
29
|
|
|
30
30
|
なお、数学的には[区分求積法](https://manabitimes.jp/math/1545)は
|
|
31
31
|
|