Hi,
We can write “self.class” to get the current object, but is it possible
to do something like a “self.method” to retrieve the currently running
method?
Cheers
Aidy
Hi,
We can write “self.class” to get the current object, but is it possible
to do something like a “self.method” to retrieve the currently running
method?
Cheers
Aidy
aidy wrote:
We can write “self.class” to get the current object, but is it possible
to do something like a “self.method” to retrieve the currently running
method?
Hi Aidy,
In short, no it is not possible (in an easy way) – but just wait, and
someone smarter than me will prove me wrong. See also Kernel#caller
[1]
[1] module Kernel - RDoc Documentation
Regards,
Jordan
Hello !
In short, no it is not possible (in an easy way) – but just wait, and
someone smarter than me will prove me wrong. See also Kernel#caller
[1]
Based on that, you could try something as follows:
def who_am_i?
return caller[0]
end
def meth
p who_am_i?
end
meth
As it returns text, you’ll need some regular expression handling, but
that could help you…
Vince, in a ruby mood today...
On 9/20/06, MonkeeSage [email protected] wrote:
[1]
[1] module Kernel - RDoc Documentation
Regards,
JordanThis thread may be of some help.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/205118
Michael G.
Thank you, that certainly works
aidy
On 20.09.2006 15:48, aidy wrote:
Thank you, that certainly works
You can also do that without a helper method:
def meth
p caller(0)[0]
end
Note: default argument for caller is 1, which makes it start one level
above.
Kind regards
robert
Vincent F. wrote:
meth
As it returns text, you’ll need some regular expression handling, but
that could help you…Vince, in a ruby mood today…
See! I told you that someone smarter than me would come up with a
solution! Never say never unless you want to be proven wrong rather
quickly!
Using Vince’s idea:
def who_am_i?
caller[0].match(/`([^’]+)’/)[1]
end
def meth
p who_am_i?
end
meth # => “meth”
Regards,
Jordan
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs