On 4/24/07, music <music / musi.ca> wrote: > music wrote: > > Robert Dober wrote: > >> On 4/24/07, music <music / musi.ca> wrote: > >>> Robert Dober wrote: > >>> > On 4/24/07, music <music / musi.ca> wrote: > >>> >> Robert Dober wrote: > >>> >> > On 4/23/07, music <music / musi.ca> wrote: > >>> >> >> I have to read in many files. > >>> >> >> I prefer to concat those files and reading only one large file. > >>> >> >> There is a way like unix zcat? > >>> >> >> > >>> >> >> > >>> >> > Sure is > >>> >> > ARGF > >>> >> > >>> >> ARGF ok, but how can I pass ARGF to a method? > >>> >> > >>> >> > >>> > As a global constant it is visible anywhere, you can thus simply do > >>> > things like this > >>> > > >>> > def my_method > >>> > ARGF.each_line do > >>> > | line | > >>> > whatever > >>> > end > >>> > end > >>> > >>> Great!!! and if input files are in gzip format? how can I read them? > >>> > >>> > >> http://www.ruby-doc.org/stdlib/libdoc/zlib/rdoc/index.html > >> > > > > Yes but can I use ARGF with zlib? > > Any help? I'm searching in Zlib::GzipReader class but I can't undestand > how I can use with ARGF. > > Something like this ruby -rzlib -e 'reader = Zlib::GzipReader.new(ARGF);reader.each_line do |x| puts x end' xxx.gz I discovered however that Zlib::GzipReader.new(ARGF) seems to ignore all but the first file in the argument list - unless I did something stupid - that complicates matters slightly, you still can do things like ARGV.each do | filename | Zlib::GeipReader.open( filename) do |gz| gz.each_line .... ... end end of course but this behavior surprises me a little bit, maybe you should mine the Zlib doc for this. Robert -- You see things; and you say Why? But I dream things that never were; and I say Why not? -- George Bernard Shaw