Je souhaite obtenir (efficacement) le symbole avec lequel une méthode d'alias est appelée lors de l'exécution. Un accès direct efficace à un objet de cadre de pile de quelque sorte pour l'obtenir serait le fantasme.Ruby accès au symbole "invoqué par"
ie:
classe Foo
def generic_call (* args)
puts ("generic_call() a été appelée à l'aide # {} ???")
fin
alias: specific_call1: generic_call
alias: specific_call2: generic_call
fin
Foo.new.specific_call1
Foo.new.specific_call2
le résultat que je veux
generic_call() a été appelé en utilisant specific_call1()
generic_call() a été appelée en utilisant specific_call2()
yias alias attribue le "pointeur de fonction", c'est-à-dire: lambda à un autre symbole dans le hachage de l'objet en laissant le symbole original libre d'être manipulé. Maintenant, il est possible que le véritable "code" bloc attribué au symbole est anoymous et le "nom vient du symbole auquel il est assigné, mais :) –