请考虑以下代码。 self
显然调用了该方法。但是它也收到.each
。 .each
是否应该被方法之外的接收者(例如bar
)直接接收?我很难理解这里的工作逻辑。
def find_all
foo = []
self.each do |f| #shouldn't I iterate over some enumerable outside method?
if yield(f)
foo << f
end
end
foo
end
bar = []
File.open("some-text.txt") { |s| bar = s.readlines }
my_line = bar.find_all {|b| b.include?('line')}
puts my_line