En Ruby, que puede definir un método foo = (bar):En Ruby, ¿cómo puedo verificar si el método "foo =()" está definido?
irb(main):001:0> def foo=(bar)
irb(main):002:1> p "foo=#{bar}"
irb(main):003:1> end
=> nil
Ahora me gustaría comprobar si se ha definido,
irb(main):004:0> defined?(foo=)
SyntaxError: compile error
(irb):4: syntax error, unexpected ')'
from (irb):4
from :0
Cuál es la sintaxis correcta de usar ¿aquí? Supongo que debe haber una forma de escapar de "foo =" de manera que se analice y pase correctamente a lo definido. operador.
Gracias! Esto resuelve mi problema. Sigo teniendo curiosidad por saber si hay una forma de escapar de foo = tal que se pueda alimentar a definido. pero al menos ahora puedo seguir. –
El problema aquí es que 'foo =' siempre se usa en las asignaciones, por lo que Ruby devolverá '" asignación "' si prueba '¿definido? foo() '(ver respuesta actualizada). – molf