Como o ruby permite um método e uma classe com o mesmo nome?
Por acaso, eu estava trabalhando em uma classe Singleton em rubi e lembrei-me da maneira como ela funciona.factory_girl. Eles trabalharam para que você possa usar os doiso longo caminho Factory.create(...)
eo caminho curto Factory(...)
Eu pensei sobre isso e fiquei curioso para ver como eles fizeram a aulaFactory
também se comportam como um método.
Eles simplesmente usaramFactory
duas vezes mais ou menos:
def Factory (args)
...
end
class Factory
...
end
Minha pergunta é:Como o ruby consegue isso? e Existe perigo em usar esse padrão aparentemente peculiar?