【JavaScript】forEachよりもreduceのほうが万能性高くない?
forEach の模倣 次のようなforEachは、 forEach.js array.forEach(body); reduceにより一行で模倣できる。 simulation_forEach....
71 search resultsShowing 1~20 results
You need to log-in
forEach の模倣 次のようなforEachは、 forEach.js array.forEach(body); reduceにより一行で模倣できる。 simulation_forEach....
下記の記事を読んでいていて、どうしてもEitherが思い浮かんじゃったんですよね。 TypeScriptでany・unknown型の値を型セーフにハンドリングしたい どういうことかと言うと、Ei...
タイトルの通り、「Haskell の Stream Fusion は不完全?Step 型のデータ構築子が一つ足りない???」などと素朴に思った。おそらく誤った感想なわけだが、考えるまでもなく当た...
簡潔で不変なデータ型にいくつもメソッドを生やしていると、なんだか負けた気分になる。データ型の定義だけしておいて、後から必要なメソッドを必要なだけ増やしたい。しかも、共用体型で上手いこと動いて欲し...
ふと、「Identity Functorってパイプライン演算子っぽい」と思ったんですよ。何言ってんだって感じですが。とりあえず、JavaScript で下記のような関数を定義するとパイプラインっ...
元ネタ:4歳娘「パパ、constしか使わないで?」 仕組みについては Haskell の記事を読んでいただきたく。 .js // 代数的データ型を関数に、 // パターンマッチを関数適用に見立て...
未来から来たジョン・タイターは次のように述べたらしい。 プログラミングの主流が、「If/Then」方式から「If/Then/Maybe」方式へと変わっている よろしい、ならば条件分岐を Hask...
元ネタ:4歳娘「パパ、constしか使わないで?」 メソッドチェインは関数合成なんだから、関数合成しまくったらどうにかなるだろうというゴリ押し実装。 2020/4/23編集 : Elm の Ei...
連分数について調べていたら、行列積を使って近似分数を計算できることを知ったので実装してみた。 下記の通り簡単に実装できるので、なんとなくお得感がある。 .js // 正則連分数の部分商の列から、...
JavaScriptで拡張ユークリッドの互除法をスッキリ書けないのかと試行錯誤した結果。 .js const exGcd = (n, m) => m === 0 ? [1, 0, n] :...
「あみだくじ」は当たりくじの直上付近が有利と言われていて、要するにくじを選ぶ順番によって有利不利が決まる不公平なくじであることが知られている。そんな不公平な「あみだくじ」に代わる手軽で公平なくじ...
Haskellで下記のデータ型を定義した時にBinat -> Nat型の単射な関数が思いつかず、タイトルの仮説が浮かんだ次第。 .hs data Nat = Zero | Succ Nat...
下記のスライド読んでて、enum的なもの以外でもできるのかなと思って少し考えてみた。 TypeScriptでType Match的なことをする話 もう少しボイラープレート減らせないのかなぁ、とは...
PowerShell - テキストファイルの文字コードを変換する方法 - Qiita のコード、便利そうだなーと思ったんですが、一方でファイルの取得やら、フォルダ構造を維持した出力やらを他のコマ...
先に結論 できる。というか、遅延リストじゃん、これ 例えば、次のようなコードで、非負偶数を無限にコンソールに出力できる。 .js const arith = (a, d) => () =&...
タイトルの通り、あまり一般的でない順列列挙の実装を考えてみたので、そのメモ。 コメントなしだと下記の通り30行程度の実装になる。 コメントなし.js function* genPermutati...
「動的計画法超入門! Educational DP Contest の A ~ E 問題の解説と類題集」の記事を読んでいて、「半環上の計算が多いなぁ」とか、「DPは有向非閉路グラフ(DAG)を考...
次のfibRはフィボナッチ数を求める再帰関数を素朴に実装したものだよ! .js const fibR = n => (n === 0 || n === 1) ? n : fibR(n - ...
元ネタ:Haskellをかける少女 ワイ君のコード fibo.js const fibo = n => { const arr = [0, 1]; for (let i = 2; i &l...
下記のように、文字列の差分を求めるアルゴリズムの確認をしたかったので、PowerShellで実装してみた。 (アドカレ用に記事を書いていたわけではないが、時期的に被ったので投稿) 元ネタ 差分検...
71 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.