Учитывая следующий модуль:
module Foo
def self.call
'foo'
end
end
Я бы, конечно, ожидал, что следующее будет работать:
puts Foo.call # outputs "foo"
Однако я не ожидал, что это сработает:
puts Foo.() # outputs "foo"
По-видимому, когда имя метода прекращено, Ruby предполагает, что я хочу вызвать метод call
. Где это документировано и почему оно ведет себя таким образом?