Symbol and string

In article [email protected],
Yukihiro M. [email protected] writes:

akre$B$5$s$O<B:]$KF0$+$J$/$J$C$?Nc$r<($7$F$/$@$5$$$^$7$?$,!"$=e(B
e$B$l$J$j$Ke(B(e$BG<F@$7$F!)e(B)e$BBP1~$7$F$/$@$5$C$?$h$&$G$9$7!#e(B

e$B$^$@<B:]$KJQ99$7$?$o$1$G$O$"$j$^$;$s!#e(B

e$B$J$*!“G<F@$7$?$HI=L@$7$?3P$($O$”$j$^$;$s!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29537] Re: symbol and string”
on Fri, 8 Sep 2006 23:37:10 +0900, Tanaka A. [email protected]
writes:

|> akre$B$5$s$O<B:]$KF0$+$J$/$J$C$?Nc$r<($7$F$/$@$5$$$^$7$?$,!“$=e(B
|> e$B$l$J$j$Ke(B(e$BG<F@$7$F!)e(B)e$BBP1~$7$F$/$@$5$C$?$h$&$G$9$7!#e(B
|
|e$B$^$@<B:]$KJQ99$7$?$o$1$G$O$”$j$^$;$s!#e(B
|
|e$B$J$*!“G<F@$7$?$HI=L@$7$?3P$($O$”$j$^$;$s!#e(B

e$BFI$_JV$9$H3N$+$K$=$&$G$9$M!#!VBP1~$,2DG=$G$"$k!W$H$*$C$7$c$Ce(B
e$B$?$@$1$G$7$?!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29535] Re: symbol and string”
on Fri, 8 Sep 2006 22:48:22 +0900, SASADA Koichi [email protected]
writes:

|e$B!!$H$j$“$($:463PE*$K!V$”$j$($M!<!W$H;W$&$N$G!$$=$l$8$cM}M3$K$J$s$J$$$G$9e(B
|e$B$h$M$'!%e(B

e$B$=$&$G$9$M$(!#$H$j$"$($:e(BSmalltalke$B$G$O$3$&$J$C$F$^$9$7$M!#e(B

|e$B!!e(BLisp e$B$J$s$+$G$O!$$3$NJU$C$F$I$&$J$s$G$7$g$&!%e(Beq*? e$B$J4X?t$G%7%s%%k$,F1e(B
|e$B$8CM$rJV$9$3$H$O$"$k$s$G$7$g$&$+!%e(B

ComminLispe$B$Oe(Bstring-*e$B$J4X?t$OJ8;zNs$b%7%s%%k$b<u$1IU$1$^$9$M!#e(B

|e$B!!<B$O!$e(BSymbol e$B$KE}0l$9$k$N$,$$$$$s$8$c$J$$$+$H;W$C$F$*$j$^$7$?!%$3$N%3e(B
|e$B%s%F%-%9%H$G$Oe(B Symbol e$B$,JV$C$F$/$k;v$r$J$s$H$J$/4|BT$7$^$;$s$+!)!!e(BString
|e$B7O$N%a%=%C%I$O!$e(B:sym.to_s.foo e$B$NC;=L7A$H3P$($k$Y$-$G$7$g$&$+!%$G$b!$e(Bfoo
|e$B$,e(B String e$B7O$N%a%=%C%I$@$C$?$C$1!$$H3P$($k$N$,BgJQ$=$&$G$9!%e(B
|
|e$B!!$b$7!$$3$l$i$NM}M3$,!Ve(BSymbol e$B$Oe(B GC e$B$7$J$$$+$i!W$H$$$&$3$H$J$i!$e(BSymbol
|e$B$re(B GC e$B$9$k$h$&$K8!F$$7$F$_$k$N$O$I$&$G$7$g$&$+!JLy<X$+$b!K!%e(B

Symbole$B$re(BGCe$B$G$9$+!#$G$-$k$N$+$J!#e(B

|e$B!!:#2s$NJQ99$G!$e(BSPECIAL_CONST_P(sym) == 0 e$B$K$J$C$?$N$G!$$J$s$H$J$J$k$se(B
|e$B$8$c$J$$$N$+$J!<!$$H!$$J$s$H$J$/;W$C$F$$$k$s$G$9$,!$4E$$$G$7$g$&$+!%e(Bmark
|e$B$9$k$H$3$m$,$A$g$C$HA}$($k$@$1$+$J!$$H$+;W$C$F$k$s$G$9$,!%$&!<$s!$e(BSymbol
|e$B$K$7$J$$$Ge(B ID e$B$@$1;H$C$F$$$k$b$N$b$"$k$N$G!$$d$C$Q$jFq$7$$$+!)!!e(B

IDe$B$r<h$j=P$9;~E@$Ge(BSymbole$B$O:n$C$F$^$9$+$i!"!Ve(BSymbol
e$B$K$7$J$$e(B
e$B$Ge(B ID
e$B$@$1;H$C$F$$$k!W$b$N$O$J$$$s$G$9$,!“e(BIDe$B$7$+J];}$7$F$$$Je(B
e$B$$%1!<%9$O7k9=$”$j$^$9!#e(BIDe$B$He(BSymbole$B$Ne(Bunifye$B$r<B8=$7$J$$$He(BGCe$B$Oe(B
e$B<BAu$G$-$J$$$h$&$J5$$,$7$^$9!#e(B

e$B$=$&$9$k$H!"e(B

rb_funcall(obj, ‘+’, obj2)

e$B$N$h$&$J$N$rA4Ite(B

rb_funcall(obj, rb_intern(“+”), obj2)

e$B$KCV$-49$($J$$$H$$$1$^$;$s$M$(!#e(B

|rb_intern e$B$G:n$C$?%%V%8%'%/%H$H!$e(BSymbol e$B%%V%8%'%/%H$H$7$F:n$C$?%%Ve(B
|e$B%8%'%/%H$rJ,$1$k!JA0<T$K$O>C$5$J$$%U%i%0$rCe$1$F$
$/$H$+!K$J$s$F$I$&$+e(B
|e$B$J!$$H$+;W$$$^$7$?!%$H$j$H$a$b$J$$$G$9$,!%e(B

e$B$&!<$s!“$$$/$D$+$Ne(BSymbole$B$O%j%6!<%V$9$k<j$O$”$j$($k$+$b$7$l$^e(B
e$B$;$s$M$(!#e(B

e$B!!$5$5$@$G$9!%e(B

e$B!!$A$g$C$H$$$m$$$m:.$8$C$F$7$^$C$F$o$+$j$E$i$/$J$C$F$7$^$C$F$$$k$s$G$9e(B
e$B$,!$;d$,0lHVLdBj$K$7$?$+$C$?$N$O!Ve(BSymbol e$B$He(B String
e$B$N3F%*%V%8%’%/%H$,!$e(B
to_s e$B$7$?7k2L$,F1$8$G$"$C$?$H$-!$e(BHash
e$B$N%-!<$H$7$FF1$8$b$N$H$7$F07$o$l$ke(B
e$B$3$H!W$G$9!%e(BSymbol
e$B$,J8;zNs$N%a%=%C%I$r;}$D$N$O!$7k9=;?@.$G$9!%e(B

Yukihiro M. wrote:

|e$B!!$H$j$"$($:463PE*$K!V$"$j$($M!<!W$H;W$&$N$G!$$=$l$8$cM}M3$K$J$s$J$$$G$9e(B
|e$B$h$M$’!%e(B

e$B$=$&$G$9$M$(!#$H$j$"$($:e(BSmalltalke$B$G$O$3$&$J$C$F$^$9$7$M!#e(B

e$B!!e(BSmalltalk e$B$Ne(B Hash e$B$Oe(B Dictionary
e$B$G$7$?$C$1!%$=$l$,!$%7%s%%k$HJ8;zNs$re(B
e$BF1$8%-!<$H$7$F07$&!$$H$$$&$3$H$G$7$g$&$+!%e(B

|e$B!!e(BLisp e$B$J$s$+$G$O!$$3$NJU$C$F$I$&$J$s$G$7$g$&!%e(Beq*? e$B$J4X?t$G%7%s%%k$,F1e(B
|e$B$8CM$rJV$9$3$H$O$"$k$s$G$7$g$&$+!%e(B

ComminLispe$B$Oe(Bstring-*e$B$J4X?t$OJ8;zNs$b%7%s%%k$b<u$1IU$1$^$9$M!#e(B

e$B!!e(BCommonLisp e$B$Ge(B Hash
e$B$N$h$&$JB8:_$O2?$K$J$k$s$G$7$g$&!%e(B

e$B!!?t>/$J$$!$;d$NCN$C$F$$$ke(BLispe$B$@$He(BGauchee$B$,$"$k$s$G$9$,!$e(BGauche
e$B$@$H$3$Ne(B
e$B$h$&$J$b$N$OL5$$$h$&$G$9!%e(B


e$B!!$3$3$G$^$?OC$,JQ$o$j$^$9!%e(B

|e$B!!<B$O!$e(BSymbol e$B$KE}0l$9$k$N$,$$$$$s$8$c$J$$$+$H;W$C$F$*$j$^$7$?!%$3$N%3e(B
|e$B%s%F%-%9%H$G$Oe(B Symbol e$B$,JV$C$F$/$k;v$r$J$s$H$J$/4|BT$7$^$;$s$+!)!!e(BString
|e$B7O$N%a%=%C%I$O!$e(B:sym.to_s.foo e$B$NC;=L7A$H3P$($k$Y$-$G$7$g$&$+!%$G$b!$e(Bfoo
|e$B$,e(B String e$B7O$N%a%=%C%I$@$C$?$C$1!$$H3P$($k$N$,BgJQ$=$&$G$9!%e(B
|
|e$B!!$b$7!$$3$l$i$NM}M3$,!Ve(BSymbol e$B$Oe(B GC e$B$7$J$$$+$i!W$H$$$&$3$H$J$i!$e(BSymbol
|e$B$re(B GC e$B$9$k$h$&$K8!F$$7$F$_$k$N$O$I$&$G$7$g$&$+!JLy<X$+$b!K!%e(B

Symbole$B$re(BGCe$B$G$9$+!#$G$-$k$N$+$J!#e(B

e$B!!$^$:!$$^$D$b$H$5$sE*$K$O!$e(BSymbol#succ
e$B$J$I$GJ8;zNs$,JV$k$N$O!$LdBj$Je(B
e$B$$!$$=$&$"$k$Y$-!$$H$*9M$($J$s$G$7$g$&$+!%$=$l$H$b!$<BAu$NET9g$G$7$g$&$,e(B
e$B$J$/!$$J$s$G$7$g$&$+!%e(B


e$B!!$3$3$G$^$?OC$,JQ$o$j$^$9!%e(B

e$B$=$&$9$k$H!"e(B

rb_funcall(obj, ‘+’, obj2)

e$B$N$h$&$J$N$rA4Ite(B

rb_funcall(obj, rb_intern("+"), obj2)

e$B$KCV$-49$($J$$$H$$$1$^$;$s$M$(!#e(B

e$B!!$=$NNc$,$=$&$J$kM}M3$O$h$/$o$+$s$J$$$s$G$9$,!$e(BID e$B$He(B Symbol
e$B%*%V%8%’%/e(B
e$B%H$OJL$K9M$($i$l$J$$$G$7$g$&$+!%e(B

symbol_table:
e$B!!e(BID (C e$BJ8;zNse(B) => Symbol e$B%*%V%8%’%/%He(B

e$B!&e(Brb_intern()
e$B$,:n$k$b$N$O!V>C$7$A$c$$$1$J$$!We(BSymbole$B%%V%8%’%/%He(B
e$B!&e(BSymbol#succ
e$B$J$I$,:n$k$b$N$O!Ve(BGCe$B2DG=$J!We(BSymbole$B%
%V%8%’%/%H!Je(BGCe$B;~$Ke(B
symbol_table e$B$+$i$=$NCM$r>C$9!Ke(B

e$B$3$H$G<B8=$G$-$k$s$G$O$J$$$+$H!Je(BGCe$B$N$?$a$K!$>C$7$A$c$$$1$J$$e(BSymbolTable
e$B$rJLES;}$C$F$b$$$$$+$b!Ke(B

e$B$J$I$H9M$($^$7$?!%e(B

e$B!!>C$7$A$c$$$1$J$$$N$Oe(B ID e$B$H$7$FMxMQ$5$l$k$b$N$J$s$G$9$+$i!%e(B

e$B!!$?$@!$e(B

id1 = :Sym.succ.object_id
GC.start
id2 = :Sym.succ.object_id

e$B$Ge(B id1 == id2
e$B$G$"$k$3$H$OJ]>Z$5$l$^$;$s$,e(B…e$B!%$3$l$G:$$k$3$H$O$"$k$s$@e(B
e$B$m$&$+!%e(B

e$B31$H$$$$$^$9!#e(B

On 2006/09/08, at 20:18, Yukihiro M. wrote:

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29532] Re: symbol and string”
on Fri, 8 Sep 2006 19:52:10 +0900, Masatoshi SEKI [email protected] writes:

|e$BF1CM$G$J$$$N$Ke(BHashe$B$N%-!<$,F10l$H07$o$l$k$N$O!"e(B
|Stringe$B$He(BSynbole$B$N4X78$@$1$K$J$j$^$9$+e(B?

hashe$B$,F1$8CM$rJV$7!"e(Beql?e$B$,??$K$J$k%*%V%8%'%/%H$O%/%i%9$K4X$ie(B
e$B$:F10l$H$_$J$5$l$^$9!#e(B

e$B$=$+!#e(Beql?e$B$C$FCN$j$^$;$s$G$7$?!#e(B
1.8e$B7O$G$O$I$s$J>lLL$G:FDj5A$7$F$?$N$G$7$g$&$+!#e(B

e$B%9%/%j%W%H$+$i8+$Fe(BSymbole$B$C$Fe(BStringe$B$C$F$I$&0c$&$s$@$m!#e(B
e$BF1$8$J$ie(BSymbole$B$C$FI,MW$J$s$G$7$g$&$+$M$(!#e(B
(Rubye$BFbIt$G$OJXMx$G$7$g$&$1$Ie(B)

e$B:#$^$GJ8;zNs$H%7%s%%k$,0c$&$3$H$r@Q6KE*$K;H$C$F$$$?$N$Ge(B
e$B<+A3$Ke(BHashe$B$N%-!<$K$b$=$l$r4|BT$7$F$$$^$7$?!#e(B
e$B0c$&$b$N$O0c$&$H$$$$$J$"!#e(B

e$B$“!<!#e(B
Structe$B$Ne(B[]e$B$de(BArray#assoce$B$O$I$&$J$N$+$J$”!#e(B

e$B31$H$$$$$^$9!#e(B

|e$B%9%/%j%W%H$+$i8+$Fe(BSymbole$B$C$Fe(BStringe$B$C$F$I$&0c$&$s$@$m!#e(B
|e$BF1$8$J$ie(BSymbole$B$C$FI,MW$J$s$G$7$g$&$+$M$(!#e(B

e$BHf3S$,B.$$!"$G$9$+$M!#e(B

e$BFs$D$Ne(BSymbole$B$,F10l$+$I$&$+$NHf3S$,B.$$!"$H$$$&$3$H$G$9$+e(B?

Symbole$B$C$F!“Hf3S$,B.$/!”%j%F%i%k$,!Ve(B:e$B!W$G=q$1$kJ8;zNs$J$s$9$+$M!#e(B

|e$B:#$^$GJ8;zNs$H%7%s%%k$,0c$&$3$H$r@Q6KE*$K;H$C$F$$$?$N$Ge(B
|e$B<+A3$Ke(BHashe$B$N%-!<$K$b$=$l$r4|BT$7$F$$$^$7$?!#e(B
|e$B0c$&$b$N$O0c$&$H$$$$$J$"!#e(B

|e$B$"!<!#e(B
|Structe$B$Ne(B[]e$B$de(BArray#assoce$B$O$I$&$J$N$+$J$"!#e(B

Struct#[]e$B$OA0$+$i6hJL$7$F$$$^$;$s!#e(B

e$B$=$&$G$9$M!#e(BStructe$B$K4X$7$F$O<BAu$,JQ$o$k$N$+$J$"!"$H;W$$$^$7$?!#e(B

                              Array#assoce$B$Oe(B==e$B$r;H$C$FHfe(B

e$B3S$7$^$9$+$i:#2sF10l;k$9$k$h$&$K$J$j$^$7$?$M!#e(B

e$B$"$le(B? e$B4*0c$$$7$F$^$7$?!#e(B
:a == ‘a’ e$B$J$s$G$7$?$C$1e(B?? Hashe$B$N%-!<$@$1$NOC$8$c$J$$$N$+!#e(B

e$B%9%/%j%W%H$+$i8+$k$H%7%s%%k$O$J$/$J$C$FJ8;zNs$KE}9g$5$l$?$C$Fe(B
e$B46$8$J$N$+$J$"!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29544] Re: symbol and string”
on Sat, 9 Sep 2006 02:45:18 +0900, SASADA Koichi [email protected]
writes:

|> e$B$=$&$G$9$M$(!#$H$j$"$($:e(BSmalltalke$B$G$O$3$&$J$C$F$^$9$7$M!#e(B
|
|e$B!!e(BSmalltalk e$B$Ne(B Hash e$B$Oe(B Dictionary e$B$G$7$?$C$1!%$=$l$,!$%7%s%%k$HJ8;zNs$re(B
|e$BF1$8%-!<$H$7$F07$&!$$H$$$&$3$H$G$7$g$&$+!%e(B

e$B$O$$!#e(BSymbole$B$Oe(BStringe$B$N%5%V%/%i%9$GF1$8FbMF$Ne(BStringe$B$He(BSymbole$B$Oe(B
e$BB>$N%/%i%9$+$i$OF1$8$h$&$K$_$($^$9!#e(B

|> ComminLispe$B$Oe(Bstring-*e$B$J4X?t$OJ8;zNs$b%7%s%%k$b<u$1IU$1$^$9$M!#e(B
|
|e$B!!e(BCommonLisp e$B$Ge(B Hash e$B$N$h$&$JB8:_$O2?$K$J$k$s$G$7$g$&!%e(B

hash-tablee$B$C$F%G!<%?9=B$$,$"$j$^$9!#%F%9%H$,e(Beq, eql, equale$B$Ne(B
e$B$$$:$l$+$r;XDj$G$-$k$h$&$K$J$C$F$$$F!"e(Bequale$B$N>l9g%7%s%%k$He(B
e$BJ8;zNs$rF10l;k$9$k$h$&$G$9!#e(B

|e$B!!$^$:!$$^$D$b$H$5$sE*$K$O!$e(BSymbol#succ e$B$J$I$GJ8;zNs$,JV$k$N$O!$LdBj$Je(B
|e$B$$!$$=$&$"$k$Y$-!$$H$*9M$($J$s$G$7$g$&$+!%$=$l$H$b!$<BAu$NET9g$G$7$g$&$,e(B
|e$B$J$/!$$J$s$G$7$g$&$+!%e(B

e$B<B$OLdBj$J$$$H;W$C$F$$$^$9!#$?$@!“e(BSymbole$B$J$iLdBj$,$”$k$H;W$Ce(B
e$B$F$$$k$o$1$G$b$"$j$^$;$s!#MW$O$5$7$F=EMW$G$O$J$$$H9M$($F$$$ke(B
e$B$H$$$&$3$H$G$9$M!#e(B

|> rb_funcall(obj, ‘+’, obj2)
|>
|> e$B$N$h$&$J$N$rA4Ite(B
|>
|> rb_funcall(obj, rb_intern(“+”), obj2)
|>
|> e$B$KCV$-49$($J$$$H$$$1$^$;$s$M$(!#e(B
|
|e$B!!$=$NNc$,$=$&$J$kM}M3$O$h$/$o$+$s$J$$$s$G$9$,!$e(BID e$B$He(B Symbol e$B%*%V%8%'%/e(B
|e$B%H$OJL$K9M$($i$l$J$$$G$7$g$&$+!%e(B

e$B$=!<$G$9$M!<!#e(B

|symbol_table:
|e$B!!e(BID (C e$BJ8;zNse(B) => Symbol e$B%%V%8%'%/%He(B
|
|e$B!&e(Brb_intern() e$B$,:n$k$b$N$O!V>C$7$A$c$$$1$J$$!We(BSymbole$B%
%V%8%‘%/%He(B
|e$B!&e(BSymbol#succ e$B$J$I$,:n$k$b$N$O!Ve(BGCe$B2DG=$J!We(BSymbole$B%*%V%8%’%/%H!Je(BGCe$B;~$Ke(B
|symbol_table e$B$+$i$=$NCM$r>C$9!Ke(B
|
|e$B$3$H$G<B8=$G$-$k$s$G$O$J$$$+$H!Je(BGCe$B$N$?$a$K!$>C$7$A$c$$$1$J$$e(BSymbolTable
|e$B$rJLES;}$C$F$b$$$$$+$b!Ke(B
|
|e$B$J$I$H9M$($^$7$?!%e(B
|
|e$B!!>C$7$A$c$$$1$J$$$N$Oe(B ID e$B$H$7$FMxMQ$5$l$k$b$N$J$s$G$9$+$i!%e(B
|
|e$B!!$?$@!$e(B
|
| id1 = :Sym.succ.object_id
| GC.start
| id2 = :Sym.succ.object_id
|
|e$B$Ge(B id1 == id2 e$B$G$“$k$3$H$OJ]>Z$5$l$^$;$s$,e(B…e$B!%$3$l$G:$$k$3$H$O$”$k$s$@e(B
|e$B$m$&$+!%e(B

e$B$J$$$s$8$c$J$$$G$7$g$&$+!#$=$l$G$$$$$N$+$J!#e(B
e$B$b$&$A$g$C$H9M$($F$_$^$9!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B$J$+$@$G$9!#e(B

At Sun, 10 Sep 2006 01:58:50 +0900,
Masatoshi SEKI wrote in [ruby-dev:29551]:

|e$B%9%/%j%W%H$+$i8+$Fe(BSymbole$B$C$Fe(BStringe$B$C$F$I$&0c$&$s$@$m!#e(B
|e$BF1$8$J$ie(BSymbole$B$C$FI,MW$J$s$G$7$g$&$+$M$(!#e(B

e$BHf3S$,B.$$!"$G$9$+$M!#e(B

e$BFs$D$Ne(BSymbole$B$,F10l$+$I$&$+$NHf3S$,B.$$!"$H$$$&$3$H$G$9$+e(B?

Symbole$B$C$F!“Hf3S$,B.$/!”%j%F%i%k$,!Ve(B:e$B!W$G=q$1$kJ8;zNs$J$s$9$+$M!#e(B

e$B$"$H$O!“FbMF$,F1$8$J$iF10l$N%$%s%9%?%s%9$G$”$k$H$$$&$H$3$m$G$7$ge(B
e$B$&$+!#e(B

:a == ‘a’ e$B$J$s$G$7$?$C$1e(B?? Hashe$B$N%-!<$@$1$NOC$8$c$J$$$N$+!#e(B

:a != ‘a’ e$B$KLa$j$^$7$?$,!"e(B’a’ == :a e$B$G$9!#e(B

e$B%9%/%j%W%H$+$i8+$k$H%7%s%%k$O$J$/$J$C$FJ8;zNs$KE}9g$5$l$?$C$Fe(B
e$B46$8$J$N$+$J$"!#e(B

Symbole$B$H$$$&$h$j$b!"e(BPooledStringe$B$H$+$J$s$H$+JLJ*$N$[$&$,$$$$$he(B
e$B$&$J5$$b$7$^$9!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29549] Re: symbol and string”
on Sun, 10 Sep 2006 01:29:54 +0900, Masatoshi SEKI
[email protected] writes:

|> hashe$B$,F1$8CM$rJV$7!"e(Beql?e$B$,??$K$J$k%*%V%8%'%/%H$O%/%i%9$K4X$ie(B
|> e$B$:F10l$H$_$J$5$l$^$9!#e(B

|e$B$=$+!#e(Beql?e$B$C$FCN$j$^$;$s$G$7$?!#e(B
|1.8e$B7O$G$O$I$s$J>lLL$G:FDj5A$7$F$?$N$G$7$g$&$+!#e(B

e$B%f!<%6Dj5A%/%i%9$r%O%C%7%e$N%-!<$K$7$?$$;~!"$G$9$+$M!#e(B

|e$B%9%/%j%W%H$+$i8+$Fe(BSymbole$B$C$Fe(BStringe$B$C$F$I$&0c$&$s$@$m!#e(B
|e$BF1$8$J$ie(BSymbole$B$C$FI,MW$J$s$G$7$g$&$+$M$(!#e(B

e$BHf3S$,B.$$!"$G$9$+$M!#e(B

|e$B:#$^$GJ8;zNs$H%7%s%%k$,0c$&$3$H$r@Q6KE*$K;H$C$F$$$?$N$Ge(B
|e$B<+A3$Ke(BHashe$B$N%-!<$K$b$=$l$r4|BT$7$F$$$^$7$?!#e(B
|e$B0c$&$b$N$O0c$&$H$$$$$J$"!#e(B

|e$B$“!<!#e(B
|Structe$B$Ne(B[]e$B$de(BArray#assoce$B$O$I$&$J$N$+$J$”!#e(B

Struct#[]e$B$OA0$+$i6hJL$7$F$$$^$;$s!#e(BArray#assoce$B$Oe(B==e$B$r;H$C$FHfe(B
e$B3S$7$^$9$+$i:#2sF10l;k$9$k$h$&$K$J$j$^$7$?$M!#e(B

e$B0BC#$H?=$7$^$9!#e(B

From: Masatoshi SEKI [email protected]
Subject: [ruby-dev:29551] Re: symbol and string
Date: Sun, 10 Sep 2006 01:58:50 +0900

e$B31$H$$$$$^$9!#e(B

e$B$I$b!"$3$s$K$A$O$G$9!#e(B

Symbole$B$C$F!“Hf3S$,B.$/!”%j%F%i%k$,!Ve(B:e$B!W$G=q$1$kJ8;zNs$J$s$9$+$M!#e(B

e$B;d$O!"e(BSymbole$B$KBP$7$F<!$N$h$&$JFCD’$r4|BT$7$F$$$^$9!#e(B

(1) e$BHf3S$,B.$$e(B
(2) e$B%7%9%F%Fb$G%f%K!<%/$G$"$ke(B (2.1) e$BF1$85-=R$+$i$OF1$8%*%V%8%'%/%H$X$N;2>H$,F@$i$l$ke(B(e$BF1$8e(Bobject_id) (2.2) e$B@8@.$7$?$i!"%W%m%0%i%$r=*N;$9$k$^$GGK4~$5$l$J$$e(B(e$B$h$&$K8+$($ke(B)
(3) immutablee$B$G$"$ke(B

e$B!tB>$K$"$l$PDI2C$7$F$/$@$5$$!d=t;ae(B

e$B;d$Oe(B(2)e$B$NFCD’$+$i!"%a%b%j$H%*%V%8%'%/%H@8@.$N=hM}J,$@$1M-Mx$+$b$7$l$Je(B
e$B$$$H9M$($Fe(BHashe$B$Ne(Bkeye$B$O%7%s%%k$K$9$k$3$H$,B?$$$G$9!#e(B

e$B!t??56$NDx$r65$($FD:$1$k$H$&$l$7$$$G$9!#e(B

e$B:#2sLdBj$K$J$C$F$$$k$N$O!“e(BHashe$B$Ne(Bkeye$B$r4^$a$FF10l@-$r%F%9%H$9$k%a%=%C%Ie(B
e$B$rFbIt$GMxMQ$9$k%a%=%C%I$G!”$=$NF0:n$,JQ$($i$l$J$$$3$H$K860x$,$"$k$N$Ge(B
e$B$O$J$$$G$7$g$&$+!)e(B

e$BF0:n$rJQ$($i$l$k$h$&$K$7$F!“$J$*$+$D$=$N%G%U%)%k%HCM$,$3$l$^$G$HF1$8F0e(B
e$B:n$K$J$k$h$&$9$k$N$OBgJQ$G$7$g$&$+!)!d$^$D$b$H;aB>!”%3%"%a%s%P!<$J3’MMe(B

e$B!t%%V%8%'%/%H$NF10l@-$G$b!"%%V%8%'%/%H$NEy2A@-$G$b%F%9%H$G$-$k$N$,M}e(B
e$B!tA[$G$O!)e(B

------
|e$B?M"JOIe(B| e$B0BC#e(B e$B=_!w8D?M2s@~e(B
| <e$B=we(B> | Via Asahi-net
|e$B5m"K;be(B| [email protected]
------

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29549] Re: symbol and string”
on Sun, 10 Sep 2006 01:29:54 +0900, Masatoshi SEKI
[email protected] writes:

|e$B:#$^$GJ8;zNs$H%7%s%%k$,0c$&$3$H$r@Q6KE*$K;H$C$F$$$?$N$Ge(B
|e$B<+A3$Ke(BHashe$B$N%-!<$K$b$=$l$r4|BT$7$F$$$^$7$?!#e(B

e$B$I$&$$$&Iw$K!V@Q6KE*$K;H$C$F!W$$$^$7$?$+!)e(B
e$B;29M$K$7$?$$$N$G65$($F$/$@$5$$!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29553] Re: symbol and string”
on Sun, 10 Sep 2006 10:49:38 +0900, Jun Adachi
[email protected] writes:

|> Symbole$B$C$F!“Hf3S$,B.$/!”%j%F%i%k$,!Ve(B:e$B!W$G=q$1$kJ8;zNs$J$s$9$+$M!#e(B
|
|e$B;d$O!“e(BSymbole$B$KBP$7$F<!$N$h$&$JFCD’$r4|BT$7$F$$$^$9!#e(B
|
|(1) e$BHf3S$,B.$$e(B
|(2) e$B%7%9%F%Fb$G%f%K!<%/$G$"$ke(B | (2.1) e$BF1$85-=R$+$i$OF1$8%*%V%8%'%/%H$X$N;2>H$,F@$i$l$ke(B(e$BF1$8e(Bobject_id) | (2.2) e$B@8@.$7$?$i!"%W%m%0%i%$r=*N;$9$k$^$GGK4~$5$l$J$$e(B(e$B$h$&$K8+$($ke(B)
|(3) immutablee$B$G$”$ke(B
|
|e$B!tB>$K$"$l$PDI2C$7$F$/$@$5$$!d=t;ae(B

e$BF10U$7$^$9!#e(B

|e$B:#2sLdBj$K$J$C$F$$$k$N$O!“e(BHashe$B$Ne(Bkeye$B$r4^$a$FF10l@-$r%F%9%H$9$k%a%=%C%Ie(B
|e$B$rFbIt$GMxMQ$9$k%a%=%C%I$G!”$=$NF0:n$,JQ$($i$l$J$$$3$H$K860x$,$“$k$N$Ge(B
|e$B$O$J$$$G$7$g$&$+!)e(B
|
|e$BF0:n$rJQ$($i$l$k$h$&$K$7$F!”$J$*$+$D$=$N%G%U%)%k%HCM$,$3$l$^$G$HF1$8F0e(B
|e$B:n$K$J$k$h$&$9$k$N$OBgJQ$G$7$g$&$+!)!d$^$D$b$H;aB>!“%3%”%a%s%P!<$J3’MMe(B

Hashe$B$N!VF0:n$rJQ$($i$l$k$h$&$K!W$H$$$&Ds0F$G$7$g$&$+!#$@$H$9e(B
e$B$k$H4JC1$G$O$J$$$G$9$M!#e(BRubye$B$N!VBg%/%i%9<g5A!W$N798~$+$i$@$He(B
Hashe$B$N@_Dj$G@Z$jBX$($i$l$k$Y$-$G$7$g$&$1$I!#e(B

e$B31$H$$$$$^$9!#e(B

On 2006/09/11, at 10:41, Yukihiro M. wrote:

|e$B:#$^$GJ8;zNs$H%7%s%%k$,0c$&$3$H$r@Q6KE*$K;H$C$F$$$?$N$Ge(B
|e$B<+A3$Ke(BHashe$B$N%-!<$K$b$=$l$r4|BT$7$F$$$^$7$?!#e(B

e$B$I$&$$$&Iw$K!V@Q6KE*$K;H$C$F!W$$$^$7$?$+!)e(B
e$B;29M$K$7$?$$$N$G65$($F$/$@$5$$!#e(B

e$B$=$&$G$9$M$(!Ee(B

e$B0B$/$F!“L>A0$G6hJL$7$d$9$/$Fe(B(e$B%j%F%i%k$=$N$^$^e(B)e$B!”$A$g$C$H$7$?e(B
e$BL\0u$K;H$($k%*%V%8%’%/%H$H$7$F;H$C$F$^$7$?!#e(B

e$B$J$s$@$+$@$5$$Nc$7$+8+$D$+$i$J$+$C$?$s$G$9$,!"e(B
e$BJ8;zNs$d!“e(Bxmle$B$NLZ$r?)$Y$k%9%H%j!<%`$_$?$$$J%*%V%8%’%/%H$,$”$C$F!"e(B
e$B=hM}$7$?7k2L$rFCJL$J$b$N$@$1%7%s%%k$GJV$7$?$je(B

stream.each do |it|
case it
when :cr

when :begin_element

else
  ...
end

end

e$B%3%s%H%m!<%k%V%l%$%/e(B(??)e$B%$%Y%s%H$rJV$7$?$je(B

stream.each do |it|
case it
when :iteration

when :status

when :kind

else

end
end

e$B$7$F$^$7$?!#e(B

e$B$s$G!"$=$N$^$^e(BArraye$B$KF~$l$?$j!"e(Bwhene$B$NBe$o$j$Ke(BHashe$B$r0z$$$?$j!#e(B

e$B$^$?!"B0@-CM$N=8$^$j$rJ#?t$N=hM}$G;}$A2s$9$h$&$J$H$-$K!“e(B
e$B30It$+$iEO$C$FMh$?$=$N$^$^$NB0@-CM$H!”$=$l$>$l$N=hM}$,@55,2=$7$?8e$Ne(B
e$BCM$H$r6hJL$9$k$N$K;H$C$F$^$7$?!#e(B

hash = {
“status” => ‘open’,
“e$B%$%F%l!<%7%g%se(B” => ‘160’,
“e$B<oN`e(B” => ‘Story’
}

e$B$H$+$"$k$N$,!"@55,2=$7$?$"$H$K$O!"e(B

hash = {
“status” => ‘open’,
:status => :open
“e$B%$%F%l!<%7%g%se(B” => ‘160’,
:iteration => 160,
“e$B<oN`e(B” => ‘Story’,
:card_type => :story
}

e$B$K$7$F$*$$$F!"85%G!<%?$O$=$N$^$^$K@55,2=$7$?CM$bF1;~$K;}$A2s$9$H$+!#e(B

e$BJ8;zNs$H%7%s%%k$,6hJL$5$l$ke(BLispe$B$_$?$$$J46$8$J$N$+$J$"!"$H;W$C$Fe(B
e$B$=$&;H$C$F$$$?$@$1$G!"$3$l$+$i$OJQ$o$k$s$@!"$H8@$o$l$?$iF,$r@Z$je(B
e$BBX$($F$D$-9g$C$F$$$/$3$H$K$J$k$s$G$7$g$&$M$(!#e(B