Я взял этот пример точно из Ruby Cookbook. К сожалению для меня, как и множество примеров в этой книге, этот не работает:
мой файл (Find.rb - сохранен как локально, так и в Ruby \ bin):
require 'find'
module Find
def match(*paths)
matched=[]
find(*paths) { |path| matched << path if yield path }
return matched
end
module_function :match
end
Я пытаюсь назвать это так из IRB, согласно примеру, приведенному в книге:
irb(main):002:0> require 'Find'
=> false
irb(main):003:0> Find.match("./") { |p| ext = p[-4...p.size]; ext && ext.downcase == "mp3" }
Он ДОЛЖЕН вернуть список mp3-файлов в моем рекурсивном каталоге. Вместо этого он делает это:
NoMethodError: undefined method `match' for Find:Module
from (irb):3
from C:/Ruby192/bin/irb:12:in `<main>'
Что дает? Я новичок в этом (хотя я ДОЛЖЕН сказать, что я дальше с Python, и намного лучше в этом!).
Как мне заставить IRB использовать мой метод?