2008-10-01から1ヶ月間の記事一覧

Seven Trees 解答

ref: http://d.hatena.ne.jp/ku-ma-me/20081023/p1 ref: http://d.hatena.ne.jp/m-hiyama/20081031/1225416719ポイントは檜山さんが書かれているように、T = 1 + T^2 を使って T から T^7 への式変形を構成するところです。その式変形は以下。各行は T^0 〜 …

レーベンシュタイン距離

ふとレーベンシュタイン距離 (編集距離) の計算を書きたくなったので書いてみた。わりと綺麗に書けたと思った。 def levenshtein_distance(s, t) t.chars.with_index.inject(0..s.size) do |r, (a, z)| z += 1 [z] + s.chars.zip(r.each_cons(2)).map do |b,…

中央線徒歩 (その 3)

土曜日に中央本線を目標地点まで歩きました。東山梨駅から韮崎駅まで。7 時半から 16 時まで。線路の距離で 26.9 km 、歩きの距離で 32.6 km 。スタート地点が遠くて、時間的にも交通費的にも厳しくなってきました。ホリデーパスを使って少しでも浮かします…

Seven Trees

id:bonotake さんに教えてもらった問題。すごく面白い。 ref: http://d.hatena.ne.jp/m-hiyama/20081022/1224640248 この問題を Haskell で言うと、 data Tree = Leaf | Node Tree Tree deriving Eq type Tree7 = (Tree, Tree, Tree, Tree, Tree, Tree, Tree…

rirb を github に登録して gem 化した

はるか昔に rirb (Remote IRB) というのを作って放置していましたが、github に登録して gem を公開してみました。せっかくなので再紹介。 rirb (Remote IRB) とは 実行中の Ruby プログラムにアタッチして irb プロンプトを開かせることができます。グロー…

Ramaze の 1.9 対応パッチを書いてみた

Ramaze のドキュメントを見る感じ、Rails よりずっと好みっぽい。Ruby 関係のものは「面白そうなおもちゃ」っぽさが重要ですよね。 しかも 1.9 対応!と聞いて試してみたら、全然テスト通りませんでした。しょうがないのでパッチ。とりあえず LANG=C rake te…

スタックオーバーフローの仕様の続き

C

いろいろコメントをいただきました。ありがとうございます。問題点を整理すると、 1. 「無限に再帰呼び出しをする」という意味は、リソースが有限な現実のコンピュータでは実現不可能である (末尾再帰だけとか特殊な例はできるけど、一般的には無理だと思う)…

中央本線徒歩 (その 2)

土曜日は中央本線の続き。大月駅から東山梨駅まで。7 時過ぎから 18 時半まで。線路の距離で 32.3 km 、歩きの距離で 44.3 km 。 一週間ぶりの大月駅からスタート。有名らしい山小屋風の駅舎は大したことなかったです。 国道 20 号を 1 時間強歩くと初狩駅。…

スタックオーバーフローの仕様

C

以下の C 言語のプログラムを実行すると、ほとんどの環境では異常終了すると思います。 int main(void) { main(); return 0; } この挙動は C の規格としてどのように説明されているんでしょうか。 たぶん未定義じゃないかと思うんですが、C99 の規格書の fun…

Coverity Scan で Ruby が rung 2 に上がった

coverity とは、C とかのソースコードを静的解析してバグ (っぽい箇所) を教えてくれるツールである Prevent を作ってる会社です。Coverity Scan というサービスをやっていて、オープンソースプロジェクトに対して Prevent を適用した結果を無償で提供してく…

中央本線徒歩 (その 1)

日曜日に、中央本線沿いを高尾駅から大月まで歩きました。6 時半から 17 時半まで。線路の距離で 34.7 km 、歩きの距離で 42.6 km 。最初は土曜日に歩こうと思ったんですが、高尾駅に着いた途端に雨が降り出したので、延期して日曜日になりました。 高尾駅か…

インクリメントについて

2ch の Ruby スレッドを見てみたら、a++ がなぜないかで盛り上がってました。定期的に出る話題。ぼくも 1.8 では後置 ++ を使いたい時が結構ありました。例えばこんな感じ。 # ["foo", "bar", "baz"] を [[0, "foo"], [1, "bar"], [2, "baz"]] にする i = 0 …

両毛線徒歩 (中編)

続いて日曜日に、岩宿駅から佐野駅まで。7 時半から 17 時前まで。線路の距離で 30.3 km 、歩きの距離で 36.5 km 。岩宿駅を出て畑の中を進むと、東武鉄道桐生線とわたらせ渓谷鐵道の踏切が並んで現れます。ちょうど電車がやってきたのですが、わたらせ渓谷…

両毛線徒歩 (前編)

前の土日で両毛線を 2/3 くらい歩きました。土曜日は新前橋駅から岩宿駅まで。10 時前から 18 時過ぎまで約 8 時間半。線路の距離で 26.6 km 、歩きの距離で 35.0 km 。移動に時間がかかるので、朝がどうしても遅くなります。10 時前に新前橋駅をスタート。…

総武線徒歩 (その 1)

続いて、はるばる銚子を目指して総武線を歩きはじめました。東京駅から東船橋駅まで。9 時半から 18 時まで。線路の距離で 25.0 km 、歩きの距離で 30.8 km 。ひたすら下町って感じのところが続きました。あまり書くこと無し。23 区の東の方は隅田川、荒川、…

総武線支線徒歩

総武線を歩きはじめました。まずは御茶ノ水駅から秋葉原を通って錦糸町駅まで。7 時半から 9 時過ぎまで。線路の距離で 4.3 km 、歩きの距離で 6.7 km 。吉祥寺に住んでた人間としては、総武線というと三鷹から船橋に行く黄色い電車というイメージがありまし…