¿Cómo funciona esto? Cuando se ejecuta lo siguiente "hi from class"
se imprime dos veces. ¿Qué está pasando dentro de ruby para hacer que esto se comporte así? ¿No soy yo, de hecho, haciendo un método de instancia para la claseclase clase: métodos instancia vs. clase
class Class
def foo
puts "hi from class"
end
end
Class.foo
x = Class.new
x.foo
Entonces, ¿qué ocurre cuando (en el cuerpo de 'class Class') I' def self.foo; pone "hola de ** uno mismo **"; fin; '... ahora la declaración' Class.foo' imprime 'hi from self'? – slindsey3000
@ slindsey3000: si define tanto un método de instancia como un método de clase en 'Clase',' Class.foo' llamará al método de clase y 'AnyOtherClass.foo' llamará al método de instancia. Por lo tanto, en su ejemplo 'Class.foo' imprimirá 'hi from ** self **' y p. 'String.foo' imprimirá' hola de la clase'. – sepp2k