Programming

foldとunfoldによるパース

構造化されていないテキストファイルを読んで扱いやすいデータ構造に変換したい時に、 file->string-list でリストとして読み込んで fold で加工する、というのをGaucheを使ってよくやる。 最近foldだけでなく、unfoldも使えることを知った。例えば、 (defin…

エラトステネスのふるい

継続的に何かをやることが苦手で『関数プログラミングの楽しみ』も中途半端なまま放置しているが、通勤の時間を有効に使うため、何でもいいから簡単なプログラムを1日1つ書いてみることにした。週末の外出中に思いつき、帰りの電車の中でプレ実践。お題は「…

MacOSのgccで共有ライブラリを作る

MacOSのgccで共有ライブラリをビルドしたら、何故かエラーになった。 % gcc -c -fPIC -o xxx.o xxx.c % gcc -shared -o libxxx.so xxx.c Undefined symbols: "_main", referenced from: start in crt1.10.5.o ld: symbol(s) not found collect2: ld returned…

jQueryのeachが意外と便利

数年前はJavaScript嫌いだったが、最近必要に迫られてJavaScriptを再度勉強中。最近はPCのスペックも良くなり、昔ほどもっさりしなくなった点はもちろん、prototype.jsやjQueryなど便利なライブラリも出てきて開発しやすくなったのも嬉しい。中でもjQueryのe…

Perlで正規表現のパターンに変数を使う際の注意

使い慣れていないPerlでハマったのでメモ。正規表現のパターンに変数を使ったとき、その変数の値が正規表現のメタ文字を含んでると正しく動かない。言われてみればその通りなんだけど、気づくのに30分近くかかった…。quotemetaを使って事前にエスケープすれ…