# File lib/backports/2.0.0/enumerable/lazy.rb, line 110 def grep(pattern) if block_given? # Split for performance Lazy.new(self) do |yielder, *values| values = values.first unless values.size > 1 yielder.yield(yield(values)) if pattern === values end else Lazy.new(self) do |yielder, *values| values = values.first unless values.size > 1 yielder.yield(values) if pattern === values end end.__set_inspect :grep, [pattern] end