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