[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

identification of VALUE recv

Saladin Mundi

11/24/2007 2:33:00 PM

hey=20
how is it possible to get the value(s) of the variable receiver in =
rb_funcall?

Function:
VALUE
rb_funcall(VALUE recv, ID mid, int n, ...) =20

is there something like: StringValueCStr(recv) ?

the thing is, I want to know if a function x was called by rb_funcall. =
therefor I want to see if the value of the revc is something like "x"

Further example:

class X
def hi()
p "hello"
end
end
ix =3D X.new
ix.hi # rb_funcall is invoked=20

so the recv shall be hi() , which should be the value of recv or??

thank you


1 Answer

Ryan Davis

11/25/2007 6:35:00 AM

0


On Nov 24, 2007, at 06:33 , <saladin.mundi@gmx.de>
<saladin.mundi@gmx.de> wrote:

> Further example:
>
> class X
> def hi()
> p "hello"
> end
> end
> ix = X.new
> ix.hi # rb_funcall is invoked
>
> so the recv shall be hi() , which should be the value of recv or??

no, recv is the VALUE for ix. mid is the id for :hi, n will be 0. It
would be roughly equivalent to :

rb_funcall(ix, rb_intern("hi"), 0);

What I _think_ you're asking is "what is the name of the reciever for
this rb_funcall" and there isn't one.