プログラムミスで貴重な時間というリソースを無駄にした
寒くて手が動かない…
スパコンで計算かけるとき、キューを指定することができる。計算の実行には長々とコマンドを書かねばならないので、適当にRubyでスクリプトを書いて、引数で「2」をとれば、空いてるキューに計算が投げられる設定にした(つもりだった)。それで40個くらい計算を予約して安心していたのが昨日。月曜には終わっているだろうと思った。
ところが今日確認したらほとんど進んでいない。
原因は、「引数の2が判定できていなかった」こと。それで混んでいるキューにぼこぼこ予約入れていたようだった。
間違ってたやつ
ARGV[2] == 2
正しくは
ARGV[2] == "2" #もしくは ARGV[2].to_i == 2
とすべきだった。こうしたらちゃんと走った。
要するに、標準入力はStringだ。以前、STDINで対話的に(y/n)分岐するスクリプト書いた時思い知ったはずなのに。
動かないエラーはわかるからいいけど、タチが悪いのは間違ってても動いて、後からミスに気付くパターンだな。