From: Vahagn Hayrapetyan Date: 2011-04-09T03:19:17+09:00 Subject: Calling to_enum on a MatchData object Hi, I have the following snippet of code: def x File.open('screen.css') do |f| while line = f.gets file = line.match(/"(\w*.css)"/) puts file.class #MatchData puts file.methods #to_enum defined e = file.to_enum puts e.class #Enumerator puts e.methods #each method defined e.each do |entry|: puts entry end end end end The result of the regex operation gets stored in "file" as a MatchData object. Then I convert it to an Enumerator object, which by all accounts has an each method defined. Yet when I try to "e.each" here's what I get: undefined method `each' for # (NoMethodError). Then I check the docs for the MatchData class: http://www.ruby-doc.org/core/classes/MatchData.html and find that no, "to_enum" isn't defined. But then I don't understand why file.methods lists it, and why no error is generated when I call file.to_enum. Help really appreciated. -- Posted via http://www.ruby-forum.com/.