# \[Feature #3065\] \[TypedData\] $B$H$$$&L\>A0$K$D$$$F(B

**URL:** <https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105>\
**Category:** Development\
**Created:** [March 31, 2010, 5:31pm UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105 "2010-03-31T17:31:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 5:31pm UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105/1 "2010-03-31T17:31:11Z")

</div>

Feature #3065: [TypedData] e$B$H$$$&L\>A0$K$D$$$Fe(B  
[http://redmine.ruby-lang.org/issues/show/3065](http://redmine.ruby-lang.org/issues/show/3065)

e$B5/I\<\<Te(B: Tadashi S.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal

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

1.9.2e$B$K\<h$j9~$^$l$J$$$G$"$m$&$3$H$OI4Fs==$/$i$$\>5CN$G!"e(BTypedDatae$B$Ke(B  
e$BIU$$$F$N5?LdE@$r$$$/$D$+=q$+$;$F$$$?$@$-$^$9!#e(B

trunke$B$K$O!"e(BRDatae$B$NBe$o$j$Ke(B(e$B$J$j$=$&$Je(B)RTypedDatae$B$,F3F~$5$l$^$7$?$,!"e(B  
e$B$3$l$ONI$/$J$$L\>A0$G$O$J$$$G$7$g$&$+!#e(B

e$B$^$:!“?7$7$$9=B$BN$K$O!Ve(BTypee$B!W$H$$$&C18l$,DI2C$5$l$?$o$1$G$9$,!”$3$l$Oe(B  
struct  
RTypedDatae$B$N%a%s%P!\<$G$"$ke(Btypee$B$+$i;!$9$k$K!“e(Brb\_data\_type\_te$B$Ne(B  
e$B;v$r;X$7!”$=$l$K$h$C$F7?$r$^$H$a$F%A%'%C%/$G$-$ke(B(rb\_typeddata\_is\_kind\_of)  
e$B$H$$$&0UL#$K$J$k$H;W$$$^$9!#e(B

e$B$7$+$7$5$5$@$5$s$H@hF|e(BTwittere$B\>e$GOC$7$?$H$3$m!“$3$l$r:n$C$?\<g$JF05!$Oe(B  
e$B%a%b%j;HMQ\>u67$N@53N$JGD0.$K$”$k!“$D$^$je(Brb\_data\_type\_te$B$H$7$FDI2C$Ge(B  
dsizee$B4X?t$,$G$-$?$3$H$K$”$k$h$&$G$7$?!#e(B(e$B4V0c$C$F$$$?$i$9$\_$^$;$se(B)

e$B$D$^$j!V\<+J,$G%a%b%j;HMQNL$rCN$C$F$$$ke(BRDatae$B!W$r:n$j$?$+$C$?$N$K!“e(B  
e$BL\>A0$+$iEA$o$k0u\>]$O$=$l$H0[$J$j!”!V7?$NGD0.$,4JC1$Je(BRDatae$B!W$K$J$C$Fe(B  
e$B$7$^$C$F$$$^$9!#e(B

# 

e$B!Ve(BTypede$B!W$K$b$7!V\<+J,$N;q8;\>CHqNL$rCN$C$F$$$k!W$H$$$&0UL#$,$"$l$P!"e(B

# 

e$BLdBj$J$$$H;W$$$^$9!#$=$N\>l9g!"C1$K\<+J,$NCN\<1ITB-$N$G!"e(BClosee$B$7$Fe(B

# e$B$/$@$5$$!#$4$a$s$J$5$$!#e(B

e$B\<+J,$N:#$^$G$N%3%s%T%e!\<%?$NCN\<1$G$O!“!V7?!W$H$$$&8@MU$K$O!”$=$Ne(B  
e$B%\*%V%8%'%/%H$,8=\<B$N%3%s%T%e!\<%?$G$I$l$[$I;q8;$r?)$C$F$$$k$+!"$H$$$&e(B  
e$B0UL#$G$O;H$o$l$J$$$H;W$$$^$9!#$b$7$=$&$J$i$P!"L\>$,BN$rI=$7$F$$$J$$$Ne(B  
e$B$G!"NI$/$J$$L\>A0$@$H;W$$$^$9!#e(B

e$B%a%b%j%5%$%:$,B,$l$k$H$$$&$3$H$rEA$($k$N$J$i$P!"%7%s%W%k$K!Ve(BRSizedDatae$B!We(B  
e$B$H$+$NJ}$,!"J,$+$j$d$9$/$FNI$$$H;W$$$^$9!#e(B

e$B$H$$$&!“e(BAPIe$BJQ99$NDs0F$G$7$?!#8m2r$,$?$/$5$s$”$k$+$b$7$l$^$;$s$,!"$I$&$\>e(B  
e$B$h$m$7$/$\*4j$$$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 6:10pm UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105/2 "2010-03-31T18:10:25Z")

</div>

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

2010e$BG/e(B4e$B7ne(B1e$BF|e(B0:30 Tadashi S.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$BL\>A0$+$iEA$o$k0u\>]$O$=$l$H0[$J$j!"!V7?$NGD0.$,4JC1$Je(BRDatae$B!W$K$J$C$Fe(B  
> e$B$7$^$C$F$$$^$9!#e(B

twitter e$B\>e$N5DO@$OFI$s$G$$$^$;$s$,!“:G=i$NF05!$,$J$s$G$”$m$&$H!"e(B  
rb\_data\_type\_t e$B$r!Ve(BData  
e$B$N7?\>pJs!W$H9M$($k$N$OIT\<+A3$G$O$J$$$He(B  
e$B;W$$$^$7$?!#e(B  
e$B=\>Mh$Oe(B dfree e$B$N%]%$%s%?$rHf3S$9$k$H$$$&e(B dirty hack  
e$B$G7?%A%'%C%/e(B  
e$B$7$F$$$?$H$3$m$,!"e(Brb\_data\_type\_t e$B$NHf3S$K$J$C$?$N$Oe(B  
TypedData e$B$Ne(B  
e$B=EMW$J8y@S$@$H;W$$$^$9!#e(B

e$B$^$?!"e(Brb\_data\_type\_t  
e$B$O\>-MhE\*$K3HD%$G$-$k$h$&$K$b$J$C$F$$$k$?$a!"e(B  
RSizedData e$B$\_$?$$$J8BDj$O$7$J$$J}$,$$$$$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 7:20pm UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105/3 "2010-03-31T19:20:41Z")

</div>

e$B:XF#$G$9!#$5$5$@$5$s$NEj9F$rBT$?$:$K=q$$$A$c$C$F?=$7Lu$J$$$G$9$,!"e(B

On Thu, 1 Apr 2010 01:09:55 +0900  
Yusuke ENDOH [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > e$B$D$^$j!V\<+J,$G%a%b%j;HMQNL$rCN$C$F$$$ke(BRDatae$B!W$r:n$j$?$+$C$?$N$K!“e(B  
> > e$BL\>A0$+$iEA$o$k0u\>]$O$=$l$H0[$J$j!”!V7?$NGD0.$,4JC1$Je(BRDatae$B!W$K$J$C$Fe(B  
> > e$B$7$^$C$F$$$^$9!#e(B

(snip)

> e$B=\>Mh$Oe(B dfree e$B$N%]%$%s%?$rHf3S$9$k$H$$$&e(B dirty hack e$B$G7?%A%'%C%/e(B  
> e$B$7$F$$$?$H$3$m$,!"e(Brb\_data\_type\_t e$B$NHf3S$K$J$C$?$N$Oe(B TypedData e$B$Ne(B  
> e$B=EMW$J8y@S$@$H;W$$$^$9!#e(B

e$B$3$l$OF10U$7$^$9!#$7$+$7!“$=$l$r\<g4c$K?7$7$$9=B$BN$de(BAPIe$B$r:n$C$?$H$O!”\<+J,$Oe(B  
e$B;W$($J$+$C$?$N$G$9!#$D$^$j!“NI$$I{:nMQ$,$”$k$H$O;W$$$^$9$,!“$=$NI{:nMQ\<+?H$re(B  
e$BL\>A0$K$9$k$Y$-$G$O$J$$$H;W$$$^$9!#$”$/$^$GL\>A0$O!":n$C$?L\E\*$K9g$o$;$FIU$1$?e(B  
e$BJ}$,NI$$$G$7$g$&!#e(B

# e$B$H$3$m$G\<+J,$N3HD%%i%$%V%i%j$G$O!"e(BCLASS\_OF(obj) ==

cMyClasse$B$Ge(B

# 

e$B8+$A$c$C$F$$$^$9$,!“$3$l$@$H2?$+$^$:$$!”$s$G$9$h$M$'!#M}2r$,B-$j$J$/$Fe(B

# e$B?=$7Lu$J$$$G$9!#e(B

> e$B$^$?!"e(Brb\_data\_type\_t e$B$O\>-MhE\*$K3HD%$G$-$k$h$&$K$b$J$C$F$$$k$?$a!"e(B  
> RSizedData e$B$\_$?$$$J8BDj$O$7$J$$J}$,$$$$$H;W$$$^$9!#e(B

e$B$?$7$+$K!“e(Breserved[3]e$B$,$”$j$^$9$M!#$G$O!“$I$N$h$&$J3HD%$,$J$5$l$kM=Dj$J$Ne(B  
e$B$G$7$g$&$+e(B?  
e$B3HD%$,$5$l$k$J$i$P!”$J$\*$5$i$=$NM=Dj$rF’$^$($FL\>A0$r$D$1$k$Y$-$G$9e(B  
e$B$h$M!#3HD%$K$h$C$F!“!Ve(BTypede$B!W$,$h$jFCD’IU$1$i$l$kJ}8~$G$”$k$H$O!"\<+J,$K$Oe(B  
e$BFI$a$^$;$s$G$7$?!#e(B

e$B$b$72r@O$G$-$kItJ,$rA}$d$9$N$,\<g4c$J$i$P!"e(BTracedDatae$B$H$+!"e(BMeasuredDatae$B$H$+!"e(B  
AnalyzedDatae$B$,$$$$$+$b$7$l$^$;$s!#e(B(-ede$B$8$c$J$/$Fe(B-ablee$B$,$$$$$+$b$7$l$^$;$se(B)

e$B$=$&$$$&;v$,\<g4c$G$J$/!“$=$NB\>$NLn?4E\*$JL\I8$,$”$k$J$i!"B\>$NL\>A0$,$$$$$G$7$g$&!#e(B  
e$BCj\>]E\*$K!“e(BSmartDatae$B$H$+!#$?$@!”$=$3$^$GCj\>]E\*$JL\>A0$7$+IU$1$i$l$J$$$[$I!“L\E\*$,e(B  
e$BITL@NF$G$O$J$$$O$:$@!”$H4|BT$7$F$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [April 1, 2010, 3:04am UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105/4 "2010-04-01T03:04:19Z")

</div>

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

At Thu, 1 Apr 2010 02:16:19 +0900,  
Tadashi S. wrote in [ruby-dev:40891]:

> # e$B$H$3$m$G\<+J,$N3HD%%i%$%V%i%j$G$O!"e(BCLASS\_OF(obj) == cMyClasse$B$Ge(B
> 
> # e$B8+$A$c$C$F$$$^$9$,!"$3$l$@$H2?$+$^$:$$!"$s$G$9$h$M$’!#M}2r$,B-$j$J$/$Fe(B
> 
> # e$B?=$7Lu$J$$$G$9!#e(B

e$B0l@Z%5%V%/%i%9$r5v$5$J$$$J$i$=$l$b%"%j$+$b$7$l$^$;$s!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 7:28pm UTC](https://www.ruby-forum.com/t/feature-3065-typeddata-b-h-l-a0-k-d-f-b/186105/5 "2010-03-31T19:28:53Z")

</div>

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

(2010/04/01 2:16), Tadashi S. wrote::

> e$B;W$($J$+$C$?$N$G$9!#$D$^$j!“NI$$I{:nMQ$,$”$k$H$O;W$$$^$9$,!"$=$NI{:nMQ\<+?H$re(B  
> e$BL\>A0$K$9$k$Y$-$G$O$J$$$H;W$$$^$9!#$"$/$^$GL\>A0$O!":n$C$?L\E\*$K9g$o$;$FIU$1$?e(B  
> e$BJ}$,NI$$$G$7$g$&!#e(B

e$B!!;DG0$J$,$i!$$=$l$,\<g4c$G$9!%e(B

e$B!!%a%b%j4X78$,I{:nMQ$G$9!%e(B
