セキヤ君、これを見て気がついたことを言ってみて。「同じ関数でも.(ドット)が頭についていますね。「まず.(ドット)が頭についていることについて説明してあげるわ。9]という配列に紐付けられているわけね。JavaScriptの配列には、reduceというファーストクラスな関数が、最初から装備されているということなの。このreduceはJavaScriptの配列お抱えの論理操作の最小単位なのよ。配列はぜひ、この論理で操作してください、と周到に前もって準備がなされているのね。「なぜなら、配列というものが『まとまり』だからよ。配列という『まとまり』をまるごと処理ができる関数が用意周到に準備されて提供されているの。問題の論理そのものをコードに単純に書き写す事を徹底的にやっていくというクールなポリシーに従って、そのままのデータまるごと用意してしまったわけね。いうクールなやり方では、配列という『まとまり』をまるごと処理ができる関数は必要不可欠になるのよ。「『まとまり』は美しい単一の論理構造、それをまるごとそのまま処理できてしまう関数が必要不可欠。「あと、plusは普通に『足す』とわかったんですが、reduceという言葉の意味が不明です。「ああこれは、むしろ数学用語なの。通分する、約する、方程式を解くという意味で使われるわ。//0から9までの数をすべて足すと45というように、10個のデータが計算されてひとつに集約されるじゃない。だいたいそういう操作のイメージよ。「なるほど、そう言われてみると合点がいきますね。//をすべて足すというように、plusを引数として取り入れていることについて説明。plusという関数は『足す』という論理操作。「はい、論理の最小単位として自由に取り回せます。同時にこういうplusみたいな他の関数を取り扱う能力をもった特別な関数なの。組み合わせができたんですね。function)と呼ぶわ。話を合わせるために一応知っておいたほうがいいわね。「JavaScriptのreduceは高階関数である、と言われても今後凹むことはなさそうです。「プログラミング言語って世界共通語といえるけど、高階関数っていう名前は、日本語ローカルだからどうせ外国では意味が通じないの。functionって覚えたら今度は日本国内では通じにくいし所詮その程度のものよ。「こういう専門用語は日本語・英語どっちで揃えるかややこしいですね。「もちろんです、先輩。専門的匠の集団から万能のスーパー匠を組み上げる際などには必要不可欠だと思われます。「まったくそのとおりね。「まとまりへの操作っていうのは、いろんなパターンがありえます。「セキヤ君もなかなかやるじゃない。『掛ける』能力を備えた匠に入れ替えたらいいんです。『掛ける』能力を備える匠をまず設計してやれいいのです。!」セキヤは意気込んでタイプしはじめた。「今回、たまたま高階関数というホストの存在があったから組み合わせられたのよ。「なんでもかんでも関数は組み合わせたら良いはずもなくて、それは個々の関数のスペック、性格によるわ。b;};見てのとおり、これはそもそも問題の論理部品として必要な、数値を足すという操作を想定して私は書いたの。「たしかにそのとおりです。「私達が書いた関数が引数として引き受けるのは数値を想定していて、他の関数を引き受けることまではまったく想定していない。「高階関数は他の関数を引き受けることを想定していますね。「reduceという配列のお抱え高階関数にしたって、それは誰かがそういう別の関数を引き受けながら操作を実現する想定で設計して書かれたものなの。「一口に関数といっても、それぞれの論理を設計するときに、想定みたいなことが事前にあるんですね。問題の論理そのものをコードに単純に書き写す事を徹底的にやっていくということなの。「もちろん、このplus関数だって、論理を設計するときに、別のファーストクラスな関数を引き受けてなんか処理するほうがいいのならば、そのように設計して書くのは十分アリだわ。今回は、そういう問題ではなかったので、数値のみを扱う関数と想定してこう書いたわけ。先輩、いろいろ全体像がつながってきました。部品としてのそれぞれの関数も、問題の論理に必要なように想定して設計していくんですね。関数単位のコードってなんか素晴らしいなあ。「フローを設計するよりも、よほどクールでしょ。これが論理を設計するということなの。」サクラは笑みを浮かべる。問題の論理そのものをコードに単純に書き写す事を徹底的にやっていくことは容易いような感じがしてきました。これは本当にクールな方法なのよ。今日セキヤ君はいちばん大事なキモの部分を学んだのよ。「ありがとうございます。問題の論理そのものをコードに単純に書き写す事を徹底的にやっていくというクールな方法を世間では関数型プログラミングって呼んでいる。「名前なんてどうでもいいけど、他の人たちもそう呼ぶので、知っておけば話が合わせられるし、凹むこともないですね。「まだレベル0だから頑張りなさい。今日は遅いからここまでにするわ。早くPCの電源落としなさい。」これから数日間、サクラとこんな濃密な時間が共に過ごせるのだ、そう思うとセキヤは再びこう考えるしか無かった。この高校に入学できてよかった。コンピュータ部に入部して正解だった。今、この瞬間、僕は青春を謳歌している!セキヤは自分の幸運と幸福を噛み締めていた。different』『ものの見方を変える事はIQ80ポイントに匹敵する。10:47JK145待ってました。21:00ありがとうございます。Posts量子コンピュータが超高速である原理と量子論とそれに至るまでの科学哲学史をゼロからわかりやすく解説01これは連載記事です。これは連載記事で、順次更新されます。この宇宙があらかじめ持っている計算能力に量子のレベルでアクセスして計算するマシン。都内の進学校に通っている。プログラミングが趣味でコンピュータ部に入部した。IQ145の知能を持つ美少女。セキヤの学校のコンピュータ部の先輩で、セキヤを厳しく指導する。