From: Bob Hutchison Date: 2006-01-08T01:04:13+09:00 Subject: Re: Iterator Fu Failing Me On Jan 6, 2006, at 11:36 PM, James Edward Gray II wrote: > That works. Now can anyone give me a version of the middle section > that doesn't require I call parse?() 50 times? I want something > close to: > > elements = tokens.map do |token| > [ClassA, ClassB, ClassC].find { |kind| kind.parse?(token) } > end > > Except that I want the return result of parse?(), instead of the > class that took it. Why not: elements = tokens.map do |token| result = nil [ClassA, ClassB, ClassC].find { |kind| result = kind.parse?(token) } end ---- Bob Hutchison -- blogs at Recursive Design Inc. -- Raconteur -- xampl for Ruby --