2007-11-01から1ヶ月間の記事一覧

畳み込み関数の比較 (fold / accumulate / inject / reduce)

つーか、fold の弱点として、言語によって引数の順番がまちまちで、 正直憶えきれないってのがあるんだよな。誰か対応表とか作ってくれんもんか。 jijixi's diary - fold, map, for-each この中から一つ選ぶとしたらどれ? 確かにいろいろとややこしいのでま…

メモ

状態遷移のN回繰り返しを → 行列のN乗に帰着して → O(logN)で解く てのは、とても一般的な戦略ですね。 覚えておこう。

Range#&

ここ経由で知った古い話題。 空区間をどう表現するかは議論の余地があると思うけど、 a & b & c とかやるならnilよりは放置かなぁ。 class Range def &(rhs) b = [self, rhs].max {|x,y| x.begin <=> y.begin } e = [self, rhs].min {|x,y| x.end <=> y.end …

Quine

自己出力。JavaScriptで書いてみる。JavaScriptのメタっぽい話といえば eval と toSource がまず思い浮かんだのでこいつらを使ってみることにします。前者はLispから脈々と続く由緒正しき関数なのに対して後者を実装しているのはJavaScriptぐらいしか知らな…