From: Yusuke ENDOH Date: 2008-04-18T00:23:27+09:00 Subject: [ruby-dev:34446] Re: ARGF.dup.rewind do not rewind lineno 遠藤です。訂正です。 08/04/18 に Yusuke ENDOH さんは書きました: > ARGF.dup を rewind すると lineno がおかしくなります。 > > $ cat foobarbaz.txt > foo > bar > baz > > $ ./ruby -ve ' > a = ARGF.dup > p [a.gets, a.lineno] > p [a.gets, a.lineno] > a.rewind > p [a.gets, a.lineno] > p [a.gets, a.lineno] > ' foobarbaz.txt > ruby 1.9.0 (2008-04-17 revision 16058) [i686-linux] > ["foo\n", 1] > ["bar\n", 2] > ["foo\n", 1] > ["bar\n", 2] すみません、これは修正後のログでした。 現状ではこうなります。 $ ./ruby -ve ' a = ARGF.dup p [a.gets, a.lineno] p [a.gets, a.lineno] a.rewind p [a.gets, a.lineno] p [a.gets, a.lineno] ' foobarbaz.txt ruby 1.9.0 (2008-04-17 revision 16058) [i686-linux] ["foo\n", 1] ["bar\n", 2] ["foo\n", 3] ["bar\n", 4] -- Yusuke ENDOH