Symbol as String for C

artone$B$G$9!#e(B

1.9e$B$K$J$C$F!“e(BStringe$B$NBe$o$j$Ke(BSymbole$B$,JV$k$h$&$KJQ$o$C$?%a%=%C%I$,$”$j$^e(B
e$B$9$,!JNc!'e(B
Object#methodse$B!K!"$G$-$l$P4{B8$N3HD%%i%$%V%i%j$dAH$9~$e(BRuby
e$B$KBP$7$F5
:Q:v$,M
$7$$$G$9!#e(B
e$B6qBNE*$K$O!"e(BStringValuPtre$B$de(BStringValueCStre$B%^%/%m$KBP$7$Fe(BSymbole$B$Ne(BVALUEe$B$re(B
e$BM?$($?>l9g$K!"e(BStringe$B$Ne(BVALUEe$B$rM?$($?>l9g$HF1MM$K?6$kIq$C$FM_$7$$$G$9!#e(B
e$B3N$+!"e(BStringValuePtre$BEy$N%^%/%m$O!“e(B1.6e$B$+$ie(B1.8(1.7)e$B$X$N0\9T;~$K!“e(Bchar*e$B<hF@e(B
e$BJ}K!$H$7$Fe(BCe$B%W%m%0%i%`$KBP$7$FM?$($i$l$?$H5-21$7$F$$$k$+$i$G$9!#e(B
e$B$7$+$7!”$3$l$i$N%^%/%m$KBP$7$Fe(BSymbole$B$rM?$($k$H8=;~E@$G$O!“e(BSymbol#to_str
e$B$OL$Dj5A$J$N$Ge(Brb_str_to_stre$B7PM3$Ge(BTypeErrore$B$K$J$j$^$9!#e(B
Symbol#to_stre$B$r<BAu$9$k$+!”$”$k$$$O!"e(Brb_string_valuee$B$Ge(BSymbole$B$re(BStringe$BF1MMe(B
e$B$KFCJL07$$$7$F$$$?$@$1$k$H=u$+$j$^$9!#e(B

*** string.c.org Mon Feb 02 23:46:37 2009
— string.c Mon Feb 02 23:49:34 2009
*************** rb_string_value(volatile VALUE *ptr)
*** 1236,1242 ****
{
VALUE s = *ptr;
if (TYPE(s) != T_STRING) {
! s = rb_str_to_str(s);
*ptr = s;
}
return s;
— 1236,1247 ----
{
VALUE s = *ptr;
if (TYPE(s) != T_STRING) {
! if (SYMBOL_P(s)) {
! s = rb_sym_to_s(s);
! }
! else {
! s = rb_str_to_str(s);
! }
*ptr = s;
}
return s;


arton [email protected]