数式ってメソッドチェーンで書いたほうがわかりやすくないか?
from 2025/03/22
数式ってメソッドチェーンで書いたほうがわかりやすくないか?
Summer498.icon
数式ってメソッドチェーンで書いたほうがわかりやすくないか?
https://gyazo.com/a6f2a2176f0af6881a0edc7cc45873a0
https://gyazo.com/0dc5a9ba56efbeb7156a4d066166032f
メソッドチェーンで与えられた式変形を高速化するコンパイル・プログラムの研究とか無いんかな。多分あるやろ
内部で関数を合成しちゃえばいいのさ
map(f).map(g).map(h).map(i).map(j).map(k)...
→ $ {\rm map}(f\circ g\circ h\circ i\circ j\circ k\circ ...)
これをしようとするときに、どういう問題が発生するんだろう
プログラマ的にはコンパイラのことなんか考えずに合成関数を直接かけるようにすればいいのか
code:js
map(compose(f,g,h,i,j,k,...))
こういうのがあった
https://qiita.com/ttatsf/items/ffa0b696bbe11963bd5e
const compose=(...funcs)=>x=>funcs.reduceRight((g,f)=>f(g),x);
実際に書くときはこんな感じで書ける(?)
code:js
compose(
e=>Math.floor(e),
e=>new Array(e)
).map(compose(
(_,i)=>i/N
e=>Math.floor(e),
e=>freqe,
e=>e*e*Math.PI*e
))
(_,i)=>のところが上手く動くかわからん
compose定義のxを(...x)にすればいいか?
そうすると右端の x のところでバグるか
型を付けるのがダルい
/nyaagoo/TypeScript 再帰的にany型にする DeepAny
おもしろい
最下層だけ変えるなら any ではなくanyからオブジェクトを抜いた型が良いのではないか