にゃす@3web です。こんばんは。

行間詰めました。
OZAWA> には抵抗があります。「トークン切り出し」という「役割」にオブジェクトを対
OZAWA> 応させたほうがいいんじゃないでしょうか。
OZAWA> # JavaのStringTokenizerやStreamTokenizerはこの発想ですよね。
OZAWA> t = Tokenizer.new(file)
OZAWA> t.each do |token|

IOクラスやStringには、each_lineやeach_byteなんてメソッドがあるので、
each_tokenなんてメソッドがあると統一された感じはあるんじゃないかとは思います。
元からメソッドが存在するか、モジュールなどで後から足し込むのがよいのかは
わかりませんが...

今までeach_lineしてsplitしたりしてましたが、トークン毎のイテレータってのは
便利かもと思い始めました。each_token(delimiter) ?
普通の文章(英文など)相手に使うときは、改行の扱いをどうするんだという
問題がありますが。

#本題のトークンを取り除く(argvのshift?)、からは外れてしまいましたね

__ 
☆ にゃす @3Web    <nyasu / osk.3web.ne.jp>
★     PGP指紋 24 DC 99 F5 3E 4A C2 07  AA 21 B4 0F 96 60 34 1D
※     公開鍵  http://www.threeweb.ad.jp/~nyasu/pgpkey.html