2006年02月20日(月)の日記
僕の殺虫能力
昨日の日記の続き。
昨日はバグが直せないまま諦めて「魁!!クロマティ高校」15巻(古い)を読みながら就寝。
そして今日の朝。
朝になったらバグ直ってないかなぁとか思ったけど直ってるわけないのでテレ朝のJAL特集を見る。
わかったよ。今度からはJALに乗るのはやめるよ。ANAニスルヨ。って飛行機あんまり使わないし。なんて自己ツッコミした朝。
そして昼からのバンドの練習へ向かう道中。
ひらめいた。
もしかして。
あれが原因なのではないか。
あそこから虫(バグ)が発生しているのではないか。
あそこから虫が湧いているのではないか。気持ち悪い。
それにしても。
不思議。
ソースコードを見てるときは全く思いつかないのに、Macから離れてボーッとしてると突然思いつく。
まぁ、今回はPerlなんで、ソースコードって言うよりスクリプトなんですが。
とにかく早く直してみたい。
ホントにそこが虫の発生源なのか。
気になる。
気になる。
確かめたい。
そりゃベースの演奏も疎かになりますわい。すいません。平謝り。平謝りって平山マリっていう人名みたいだよね。
さて、バンド練習も終わり急いで帰宅。
あー、Pastelのプリン美味しいなー。
って、プリンを食べるために急いで帰宅した訳ぢゃない。
スクリプトを直さなきゃ。
スクリプトを直さなきゃ。
さぁ、今日の昼バンド練習へ向かう道中で閃いた予想は正しいのか。
とりあえず、スクリプトを直す前に、再現性の確認。
バグを潰すに当たって、一番重要といっても過言ではない「再現性の確認」。
いや、むしろもっと広く言えば、科学において一番重要といってもいいのではないか、「再現性の確認」。言い過ぎですか。
まぁ、どうでもいいや。
簡単なスクリプトを書いて同じ状況が再現されるかを確かめる。
………再現性の確認もとれた。
予想は正しかったのだ。
スクリプトを目の前にして数時間悩んだ昨日の僕は何だったんだ。
道中の瞬間的閃きの方が数時間の精神的悶絶を上回るなんて。
まぁ往々にしてそういうことは起こりがち。
さて、予想が正しかったことも証明されたし、スクリプトを直すか。
…どうやって直そう。
僕にとってプログラミングの知識というのは言ってしまえば付け焼き刃。
Perlだってそう。
原因が分かっても直し方が分からないことも多々ある。
こういうときは。
Google先生、どうでしょう?
あ、こんなに一杯ページを探し出していただいて有り難うございます。
えぇっと、あ。
これだ。
これだ。
これだけのことだ。
なんだ、これだけのことか。
修正前のスクリプト:
アホか。僕はアホか。世界一のアホか。それともバカか。バカなのか。
ファイルハンドル名が衝突してただけ。
グローバルなファイルハンドルを使わずにローカルな変数への代入に変更しただけで解決。
もっと早く気付けよ。早く気付けよ。
ま、いっか。解決したし。一段落。
…。
…ん?
……ん?
あ。
………今、新たなバグを発見してしまったので、また鬱な気分に逆戻り。
こんなオチいらない。(泣)
昨日はバグが直せないまま諦めて「魁!!クロマティ高校」15巻(古い)を読みながら就寝。
そして今日の朝。
朝になったらバグ直ってないかなぁとか思ったけど直ってるわけないのでテレ朝のJAL特集を見る。
わかったよ。今度からはJALに乗るのはやめるよ。ANAニスルヨ。って飛行機あんまり使わないし。なんて自己ツッコミした朝。
そして昼からのバンドの練習へ向かう道中。
ひらめいた。
もしかして。
あれが原因なのではないか。
あそこから虫(バグ)が発生しているのではないか。
あそこから虫が湧いているのではないか。気持ち悪い。
それにしても。
不思議。
ソースコードを見てるときは全く思いつかないのに、Macから離れてボーッとしてると突然思いつく。
まぁ、今回はPerlなんで、ソースコードって言うよりスクリプトなんですが。
とにかく早く直してみたい。
ホントにそこが虫の発生源なのか。
気になる。
気になる。
確かめたい。
そりゃベースの演奏も疎かになりますわい。すいません。平謝り。平謝りって平山マリっていう人名みたいだよね。
さて、バンド練習も終わり急いで帰宅。
あー、Pastelのプリン美味しいなー。
って、プリンを食べるために急いで帰宅した訳ぢゃない。
スクリプトを直さなきゃ。
スクリプトを直さなきゃ。
さぁ、今日の昼バンド練習へ向かう道中で閃いた予想は正しいのか。
とりあえず、スクリプトを直す前に、再現性の確認。
バグを潰すに当たって、一番重要といっても過言ではない「再現性の確認」。
いや、むしろもっと広く言えば、科学において一番重要といってもいいのではないか、「再現性の確認」。言い過ぎですか。
まぁ、どうでもいいや。
簡単なスクリプトを書いて同じ状況が再現されるかを確かめる。
………再現性の確認もとれた。
予想は正しかったのだ。
スクリプトを目の前にして数時間悩んだ昨日の僕は何だったんだ。
道中の瞬間的閃きの方が数時間の精神的悶絶を上回るなんて。
まぁ往々にしてそういうことは起こりがち。
さて、予想が正しかったことも証明されたし、スクリプトを直すか。
…どうやって直そう。
僕にとってプログラミングの知識というのは言ってしまえば付け焼き刃。
Perlだってそう。
原因が分かっても直し方が分からないことも多々ある。
こういうときは。
Google先生、どうでしょう?
あ、こんなに一杯ページを探し出していただいて有り難うございます。
えぇっと、あ。
これだ。
これだ。
これだけのことだ。
なんだ、これだけのことか。
修正前のスクリプト:
if (!open(FH, "...")) { ...修正後のスクリプト:
my $FH; if (!open($FH, "...")) { ...これだけ。
アホか。僕はアホか。世界一のアホか。それともバカか。バカなのか。
ファイルハンドル名が衝突してただけ。
グローバルなファイルハンドルを使わずにローカルな変数への代入に変更しただけで解決。
もっと早く気付けよ。早く気付けよ。
ま、いっか。解決したし。一段落。
…。
…ん?
……ん?
あ。
………今、新たなバグを発見してしまったので、また鬱な気分に逆戻り。
こんなオチいらない。(泣)
この日記へのトラックバック
この日記へのトラックバックはありません。
この日記へのコメント