From: Robert Klemme Date: 2010-02-12T01:30:25+09:00 Subject: Re: Some noob questions 2010/2/11 John Ydil : > Robert Klemme wrote: >> 2010/2/11 Aldric Giacomoni : >>>> login Auth-Type :=Local, User-Password == "bonjour" >>>> have an idea ? >>> >>> Well, for this one, a quick look at the documentation will give you the >>> answer: >>> http://ruby-doc.org/core/classes/IO.html#M002243 >>> >>> "foreach" expects a block. So you can't really do "each slice" on >>> "foreach" since you should do "foreach" on ... er ... each line in the >>> file. >>> Probably you'll do the foreach, and a slice on that line within the code >>> block instead. >> >> He's on 1.8.2.  There you have to do >> >> require 'enumerator' >> >> File.to_enum(:foreach, "/etc/raddb/users").each_slice 4 do |name, ip, >> dump, table| >>        puts name.strip! >>        puts ip.strip! >>        puts table.strip! >> end >> >> The convenient feature to return an Enumerator from enumerating >> methods which expect a block but do not receive it was added in 1.9 >> and backported to 1.8.7. > > I was afraid of this, but : > ./test.rb:5:in `require': No such file to load -- enumerator (LoadError) >        from ./test.rb:5 > > > Maybe I haven't the full ruby because it's a small linux... Oooops! Sorry for the wrong advice. Either that or Enumerator did not exist in 1.8.2 (which is ancient btw - I cannot remember having used it). Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/