Ruby/C newbie question

I'm trying to set a char at a particular index in a Ruby String in C using the rb_funcall method, but since there is no text signature for this method call (that I know of), I'm having a hard time with it. Right now I'm messing with something like:

    rb_funcall(textString, rb_intern("[]="), 2, index);

which throws an exception with the message: "`[]=': cannot convert false into String (TypeError)"

Any ideas?

I just need the C equivalent of "String"[n].

thanks,
Dave

Dave Sims <davsims@gmail.com> [2005-07-29 05:02]:

I'm trying to set a char at a particular index in a Ruby String in C using the
rb_funcall method, but since there is no text signature for this method call
(that I know of), I'm having a hard time with it. Right now I'm messing with
something like:

    rb_funcall(textString, rb_intern("="), 2, index);

rb_funcall (s, rb_intern ("="), 2, INT2FIX(0), rb_str_new2 ("A"));

That would change the first character of the String s to "A".

Regards,
Tilman

···

--
learn to quote: How do I quote correctly in Usenet?

That would be it. Thanks Tilman.

Tilman Sauerbeck wrote:

···

Dave Sims <davsims@gmail.com> [2005-07-29 05:02]:

I'm trying to set a char at a particular index in a Ruby String in C using the rb_funcall method, but since there is no text signature for this method call (that I know of), I'm having a hard time with it. Right now I'm messing with something like:

   rb_funcall(textString, rb_intern("="), 2, index);
   
rb_funcall (s, rb_intern ("="), 2, INT2FIX(0), rb_str_new2 ("A"));

That would change the first character of the String s to "A".

Regards,
Tilman