たまにはRuby

複数人でJavaScriptを書いていて、他人が作りかけのものを貰って、つぎはぎ合わせていたりしたら、いつのまにか括弧("{"と"}")が対応してないらしき状態に陥ったので、チェックしたい。目で見るのも何なので、riを引き引き、思い出しながらRubyでチェックコードを書く。
JavaScriptを1文字ずつ読んでいき、開き括弧"{"を発見すると行番号をスタックにpush、閉じ括弧"}"を発見するとpopする。JavaScriptを最後まで読み込んでも行番号がスタックに残るとエラー。または途中でpopする行番号がなくなればその時点でエラー。とりあえず、これだけでよい。

書いていて思ったのは

  • 例外処理機構のbegin...rescue...ensureのensureが思い出せなかった。これは単にブランクで。
  • スタックはArrayでよい。pushとpopが使えるので。
  • 1.8以降、Loggerという便利クラスが標準ライブラリにある(Rubyist Magazineで紹介されている)。