今日も今日とて抜け道探し。

~この前に何かの処理
my @array = (’04001’,’4001’,’03001’,’5001’);
my %hash = ();
foreach(@array){
  $hash{"$_"}++;
}
my @error = ();
foreach(sort keys %hash){
  push(@error,$_) if($hash{"$_"} > 1);
}
これ以降何かの処理~

同一数の多重化チェック。2つ以上ならエラーとしてみなす。
途中で桁合わせ(つまりsprintf)していなかったせいで多重化チェックが働いていない罠。
この場合は配列の"数値"としては同じだが、 04001 と 4001 のチェックがスルーされる。
しかもこの処理の後に表示する前にsprintfされていたから表記上は発見出来ず、見つけるまでに時間がかかってしまった。大いに反省。
# オブラートに包んだ内容だけど、詳しく書くとアレなので省略
# 追記:@error配列にmyが無かった


初春や助手ならこんな事無いんだろうけどなぁ…

コメント

nophoto
misaki
2012年2月22日23:23

う~い~は~るぅ~
僕はね初春のパンツよりも佐天さんのパンツの方が・・・

shima
2012年2月22日23:37

コンピュータ弄ってる時の初春が Good! > misaki

最新の日記 一覧

<<  2025年6月  >>
1234567
891011121314
15161718192021
22232425262728
293012345

お気に入り日記の更新

この日記について

日記内を検索