■2004-11-21
* [雑感] ホラーじゃないんだ
「いま、会いにゆきます」という映画が流行っているそうじゃないですか。通勤時にいつもポスターを見かけては、ずいぶんほのぼのとしたホラー映画なんだなあ、と思ってたのですが。どうも違うらしい。 あれでしょ、ほら、深夜に電話が鳴って、受話器を取ると「いま、会いにゆきます……」。キャー! だと思ってたんですが、ずいぶん大きな勘違いをしていたものです。
* [雑感] 消耗
先週で長かったBlosxom強化月間(?)も終わり。とはいえ、まだ色々後始末が…… で、この間に外に出していたプログラムのコードレビューをしたのですが。ファイル内の各行の重複チェックを行う処理。
my @lines = @_; # サブルーチン内 my @check = @lines; for my $line ( @lines ){ for my $check ( @check ){ if($line eq $check){ error() } } }
イメージとしてはこんな感じ。1000行のデータで100万回チェックするつもりですか。やり直してください、と。で、次に返ってきたのが
my @lines = @_; my @check = @lines; for my $line ( @lines ){ my @found = grep(/$line/,@check); if(@found > 1){ error() } }
ああ、前回よりちょっとひねってあります。笑いたいような、泣きたいような、怒りたいような。このようなソースを出してくるのは大変特殊な例なのか、良くあることなのかしら。 PHPとMySQLによるWebアプリ開発が得意と称するこの会社は、他にも配列を逆順にする処理で
my @array = @_; my @reverse; for(my $i = $#array; $i >= 0; $i-- ){ push @reverse,$array[$i]; } return @reverse;
という素敵実装をされていたのが印象的でした。Perlが不得手だとしても、PHPにarray_reverseがあるんだから同様の組み込み関数があることぐらい想像つくと思うのですが。 そんなこんなで今週はかなり疲弊していました。