2007-01-01から1年間の記事一覧

Reading Rake (1)

「Rakeはソースコード読解の練習に向いている」とかなんとかいう感じの話を どっかで見た気がしたので読んでみる。読むのはRake 0.7.3。

4-1 strrindex.c

わりと読めるまま短く出来たとは思うけれど。 やはりありきたりというか何というか。

hatena2.rb

Win専用。はてな記法をパースしてHTMLにしてIEで見る。 記法のパースの忠実度はhparserライブラリに依存。 スタイルは環境変数HATENA2_DIRかホームのディレクトリに '.hatena2rc'という名前で置く。

SSが

あんまり調子よくない(セガサターンではなく)。ACKもちょっとイチから書き直したいなぁ…。

3-5 itob.c

これもありきたりかなぁ… 工夫があんまり思いつかない。

SSMLとは

Speech Synthesis Markup Languageではない。いやはや、ちょっとでも調べてみるんだった。W3Cで勧告されたりしてる以上、 戦いになったら負けるなー。まったく、適当にネーミングするもんじゃない。SSML Aren't SSMLでSASとかSSML Not SSMLでSNSとかだったら…

3-3 expand.c

ありきたり? なんてオーバーフローが怖い関数…。

p2h.rb

で、まだめんどくさいからせめて、とこんなのも書く。

SSML 0.1.0

どーなんだコレは…。Wikiとかよりもシンプルって…。 てゆーかあの手のマークアップはシンプルで高機能だから良いのであって、 実現できることまでシンプルでどーするよ。

実家から帰ってきました

というわけで更新再開はされるでしょう(他人事のよーに)。 ローカルでばしばしキーを叩いてるといつの間にかSSよりも ツールを作ってしまっている…。

3-2 escape.c

久しぶり。switch使うと縦長になるよなぁ。

2-5 any.c

squeezeに続いてテーブルを作っちゃう。なんか気に入った。 for入れ子にしなくていいあたりが。 ま、メモリは食うけど毎回s2をスキャンするよりは早いはず。 時間と空間のトレードオフですな。

2-4 squeeze.c

演習2-1で触れてるから、limits.h使っていいよね。

2-3 htoi.c

依存多い… もちろん、まっとうに使うときはtolower()やisxdigit()を使いましょう。

1-24 chk_paren.c

テーブルだらけだなぁ、なんか。

1-23 rm_com.c

これもイマイチ。 flush...はDRYに反してるっぽいし、buffはグローバル変数だし…。

1-22 fold.c

汚い! 汚いよこれ! clear_buffer()はせめてマクロにしたかった…

まとめ

第1章 やさしい入門 演習1-1 演習1-2 演習1-3 演習1-4 演習1-5 演習1-6 演習1-7 演習1-8 演習1-9 演習1-10 演習1-12 演習1-13 演習1-14 演習1-17 演習1-18 演習1-19 演習1-20 演習1-21 演習1-22 演習1-23 演習1-24おまけ:Ruby版8〜18 第2章 データ型・演算子…

解放への戦火

http://www.acecombat.jp/ace6/index.htmlトレーラーキタ―――!! イーグルたんが画面いっぱいに写ってて惚れ直しました。

1-21 entab.c

detabとループ周りが似ますな、やはり。 しかし問題文のくどいことくどいこと…

1-20 detab.c

記号パラメータとはなんぞや? たぶん#defineで作る定数のことだろうけど。 お前、1.1.4では記号定数て言ってるじゃねーかよー >K&R 1章の問題でprintfの書式の*使うかどうか迷ったけど、結局使いました。 書くまでも無い簡単なループで置き換えられるからい…

HikiTool

なるものを作った。ぶっちゃけRDtoolの真似しまくりである。 しかもHikiDocなんてものもあるのに…

1-19 reverse.c

書けた。

マリオ64

始めました。 スター118個集めました。 あとはレインボークルーズの100枚コインとラストのクッパのやつ。

今までのRubyバージョン

を、書いてみた。あたりまえだけどすげー楽。

1-18 rm_spc.c

malloc()使えないから一行1023byteまでだよー。 というか一行2000byteも3000byteもあるテキストファイルなんてくそったれだ。

1-17 over80.c

わりとad-hoc。

1-13 histgram.c

とりあえず集計する単語の長さは1〜10文字に。あとはその他扱い。

1-12 show_words.c

やっとelseとかANDとか使えるぜ…ふぅ

1-14 char_hist.c

20回以上の頻度はその他扱いに。