пожалуйста, объясните действие self в методе, когда self также является получателем метода .each - PullRequest
0 голосов
/ 14 ноября 2018

Рассмотрим код ниже. 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
...