無限ループ

  • このエントリーをはてなブックマークに追加
  • Pocket

perlで。


for($i=0; $i<=$#s; $i++){

  if ($s[$i][0] !=$s[$i+1][0]){

    ...

  }

}

とやっていてはまった。

Use of uninitialized value がでるけど、ちゃんと代入できてるはずだし、おかしいなーと思ったら。

$i == $#sのとき、

$s[$+1][0]を評価した時点で、$s[$i+1][0]が初期化されて、$#sに1が加算されているという。

そして無限ループへ・・・。

visual basicみたいに実装系のバグではなかったのでよかった。

その結果、無事グラフが描けました。

たいへん理系っぽいんですが。この図。

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す