From: hirocy Date: 2003-08-06T20:12:38+09:00 Subject: [ruby-list:38036] undef variable hirocyです. 変数を undef できないものでしょうか? 過去のログを探ったところ,[ruby-list:37062] からの議論でも 登場していますが,以下のケースで必要性を感じました. 複数行からなるテキストファイルを読み込む際に, 基本的には一行一行を処理して格納するが, 数行単位でグルーピングされている部分は 同じIDを持たせて格納したい. たとえば, --- # ID:1 aaa bbb # ID:2 ccc --- のようなファイルを読み込むとします. そうすると, a = [] id = nil IO.foreach(x) do |line| if /^# ID:(.)/ =~ line id = $1 else a << id + line.chomp end end のように書くことを思いつきますが, この foreach のスコープでしか使われない id が ずっと生きてしまうのが気持ち悪いんです.再利用もしたい. たとえ,nilを入れたとしても,スコープが生きてしまいます. undef id ができないとすると,みなさんはどう書きますか? でも,書籍「The Ruby Way」の p.283 には変数のundefも できるって書いてあるんですよね... もしかして私のrubyが古いせいでしょうか? ruby 1.6.7 (2002-03-01) [powerpc-darwin6.0] ruby 1.6.7 (2002-03-19) [i386-linux] でためしています. // hirocy