On Tue, 19 Dec 2000, Yasushi Shoji wrote:

> At Tue, 19 Dec 2000 10:38:53 +0900,
> David Alan Black wrote:
> > 
> > Is there (a) a reason for this method not being available, or (b) a
> > way to use it from C that I'm not thinking of?  (That would include
> > any way that works :-)
> 
> I can't answer a) for matz, but not all method is exposed with one to
> one C API.
> 
> for b) try rb_funcall*() or rb_apply()
> 
>   VALUE ary, rpl, rng;
> 
>   rng = rb_range_new(INT2FIX(2), INT2FIX(4), Qtrue);
>   rb_funcall(ary1, rb_intern("replace"), 2, rng, rpl);

Yes, I see -- I can get at Array#replace that way -- which is good to
know, though the one I really need is rb_ary_replace, which (I now
realize) is not equivalent to Array#replace.  (I didn't actually know
that before, not because I misunderstood rb_ary_replace but because I
didn't know what Array#replace did!)  So I think I probably can't
(easily) do what I wanted, but I do now understand better why not :-)

Thanks --


David

-- 
David Alan Black
home: dblack / candle.superlink.net
work: blackdav / shu.edu
Web:  http://pirate.shu.edu/~blackdav