Ho la seguente classe:Perché instance_eval riesce con un Proc ma non con un Lambda?
class User
code1 = Proc.new { }
code2 = lambda { }
define_method :test do
self.class.instance_eval &code1
self.class.instance_eval &code2
end
end
User.new.test
Perché la seconda instance_eval
fallire con un errore wrong number of arguments (1 for 0)
?
Rilevante anche: http://stackoverflow.com/questions/12648157/instance-evals-block-arguments-documented-purpose – rampion
Nella mia versione lambda non sta prendendo alcun argomento. E non ne sto passando nessuno al momento di instance_eval. Quindi, perché questo numero di argomenti non corrisponde. –
'instance_eval' sta cedendo al proc/lambda. – pdoherty926