If I have:
class Blek
def bM
puts “trace #{self.somemethod}”
end
end
bo = Blek.new
bo.bM
It will give me:
trace bo.bM
or
trace bM
???
I want to set up stuff that tells me what method I am in, largely for
raising
exceptions in various circumstances, but I want to control the message
myself,
so I’d like specifically knowledge of the method name available as
stated.
Xeno C. / Eskimo North and Gmail wrote:
so I’d like specifically knowledge of the method name available as
stated.
The method method should do the trick:
ruby -v: ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-linux]
irb(main):001:0> def foo
irb(main):002:1> p method
irb(main):003:1> end
=> nil
irb(main):004:0> foo
:foo
=> :foo
irb(main):005:0>
That one is implemented since 1.8.7 I think. The class name is available
via #class.
Marvin
method or callee
On Jun 18, 4:03 pm, Xeno C. / Eskimo North and Gmail
On 10-06-18 01:32 PM, Intransition wrote:
method or callee
Thank you. method seems to work, but callee seems to fail, and
I cannot
find it in pickaxe:
./test.rb:8:in bm': undefined local variable or method
callee’ for #Blek:0xb78989f8 (NameError)
from ./test.rb:18
I tried several variations of that too, and they all fail. Still, you
got me
going. Thank you very much.
Sincerely, Xeno.
xc
On Jun 18, 4:44 pm, Xeno C. / Eskimo North and Gmail
[email protected] wrote:
On 10-06-18 01:32 PM, Intransition wrote:
method or callee
Thank you. method seems to work, but callee seems to fail, and I cannot
find it in pickaxe:
./test.rb:8:in bm': undefined local variable or method
callee’ for #Blek:0xb78989f8 (NameError)
from ./test.rb:18
It’s a 1.9. thing:
eigenclass.org