In Ruby, posso definire un metodo foo = (bar):In Ruby, come posso controllare se il metodo "foo =()" è definito?
irb(main):001:0> def foo=(bar)
irb(main):002:1> p "foo=#{bar}"
irb(main):003:1> end
=> nil
Ora mi piacerebbe verificare se è stata definita,
irb(main):004:0> defined?(foo=)
SyntaxError: compile error
(irb):4: syntax error, unexpected ')'
from (irb):4
from :0
Qual è la sintassi corretta da usare Qui? Presumo che ci deve essere un modo per scappare "foo =" tale che sia analizzato e passato correttamente al definito? operatore.
Grazie! Questo risolve il mio problema. Sono ancora curioso di sapere se c'è un modo per sfuggire a foo = in modo tale da poterlo alimentare a definito? ma almeno ora posso andare avanti. –
Il problema qui è che 'foo =' è sempre usato nelle assegnazioni, quindi Ruby restituirà '" assegnazione "' se si prova per 'defined? foo() '(vedi risposta aggiornata). – molf