find_all是Ruby中的公共方法。方法的主体将返回一个准确的值。将定义重命名为私有方法,例如def findall
导致私有方法错误。为什么在主体无错误的情况下如此?
def find_all
foo = []
self.each do |f|
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