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
.