У меня есть следующий модуль:
module Foo
def f1 x
puts "f1(#{x})"
end
def Foo.f2 x
puts "f2(#{x})"
end
end
Когда он входит в класс:
class Bar
include Foo
Foo.f2 "bar" # This works
f1 "bar" # Missing method
def b x
f1 x # This works too
end
end
Почему поведение f1 отличается в двух случаях?
Как определяется область действия методов модуля?
Можно ли записать f1 так, чтобы он работал, как в случае f1 "bar"
?Как например task
в Rakefile?