modules define_method c# ruby syntax module namespaces

c# - define_method - modules in ruby



Ruby Equivalent of C#''using'' Statement (2)

No creo que haya un mapeo sintáctico directo. Sin embargo, probablemente puedas aproximarte, ya que puedes asignar referencias de variables a casi todo, incluidos los módulos y las clases.

module UsingExampleNamespace module SubExampleNamespace CON = "STANT" end end sen = UsingExampleNamespace::SubExampleNamespace puts sen::CON >> "STANT"

Me he estado metiendo con Ruby en los últimos meses, pero una cosa que aún no he descubierto es qué es el equivalente de Ruby de la declaración que using C # (y otros idiomas).

He estado usando la declaración require para declarar mis dependencias en Gems, pero me estoy volviendo perezoso y preferiría no calificar completamente los nombres de clase de uso frecuente con el nombre de su módulo (espacio de nombres).

Sin duda, esto es posible, ¿verdad? No debo usar la terminología correcta ya que Google no me ha dado nada útil.


>> Math::PI => 3.14159265358979 >> PI NameError: uninitialized constant PI from (irb):3 >> include Math => Object >> PI => 3.14159265358979

OTOH, si el problema es solo aliasar los nombres de las clases, considere eso, ya que dicen " Clase es un objeto y Objeto es una clase ".

Asi que:

>> require ''csv'' >> r = CSV::Reader >> r.parse ''what,ever'' do |e| p e end ["what", "ever"]

Sí, en Ruby el nombre de clase es solo una referencia como cualquier otro para un objeto de clase Class .