| 
 $B@xxxxxx$G$9!#(B 
$B1vC+@xxxxxx@xxxxxx!"$4$H$1$s$5$s!"9u0f$5$s(B 
$B9gF1Bg2q$KDs=P$9$kM=9F$G$9$,0J2<$NFbMF$GAw$k$D$b$j$J$N$G(B 
$B0lDL$jFI$s$GJV;v$rD:$1$J$$$G$7$g$&$+!#M=9FDs=P$OMh=5$N2PMKF|(B 
$B$"$?$j$r9M$($F$$$k$N$G!"$=$l$^$G$KJV;v$N$[$&$r$h$m$7$/$*4j$$$7$^$9!#(B 
$B0J2<35MW5Z$SM=9FK\J8$G$9!#(B 
---------------------------------------- 
2001$BG/CO5eOG@xxxxxx!!M=9F(B 
---------------------------------------- 
$B%*%V%8%'%/%H;X8~8@xxxxxx(BRuby$B$K$*$1$kB? 
Development of tools for multidimensional data analysis and 
visualization with  
the object-oriented language Ruby 
$B35MW(B 
$B!!K\8&5f$G$O(BRuby$B$rMQ$$$FCO5e!&OG@xxxxxx$K$*$1$k?tCM%G!<%?$r=@xxxxxx$K(B 
$B07$&$3$H$N$G$-$k4D6-$r3+H/$9$k$?$a!"(BRuby$B$K$*$1$kB? 
$B%/%i%9$N3+H/$r9T$C$F$$$k!#B? 
$B$,B.$$?tCM7?G[Ns%/%i%9$G$"$k!#2f!9$O$3$l$^$G?t3X4X?t$N7W;;$J$I$r 
$B$7$?!#IA2h%/%i%9$OEEG>6f3ZIt%i%$%V%i%j(B(DCL)$B$r2<0LAX$H$7!"%R%9%H%j5!G=$d%0(B 
$B%i%U%#%C%/%f!<%6%$%s%?!<%U%'!<%9$rIU2C$9$k!#K\H/I=$G$OB? 
$B%i%9$N35MW$H8=:_$K$*$1$k3+H/>u67!"5Z$S>-Mh7W2h$r@xxxxxx@xxxxxx$9$k!#(B 
Abstract$B!!(B 
  To facilitate flexible handling of numerical data in 
earth and planetary fluid  
sciences, we are developing multidimensional array and 
visualization classes for  
Ruby. Numerical computing speed in the multidimensional array 
class is higher  
than the original array class in Ruby. Up to now we have 
implemented basic  
functions such as mathematic operations. The visualization 
class uses Dennou  
Club Library (DCL) as a low-level graphic engine and will have 
history function  
and graphical user interface. In this presentation, we will 
describe an overview  
and current developmental status and our future plan. 
$B!!!!(B 
$B$O$8$a$K(B 
$B!!CO5e!&OG@xxxxxx$K$*$1$k%G!<%?$,B? $B2D;k2=%7%9%F%`$G$OBP1~$G$-$J$/$J$k$H$$$&$3$H$,7|G0$5$l$k!#0lJ}!"%G!<%?$OB? 
$B85?tCMG[Ns$NB>$KC10L$d3FpJs$r;}$C$F$$$k!#$3$l(B 
$B$i$N>pJs$r%W%m%0%i%`>e$G$^$H$a$k$K$O!"J*M}NL$H$$$&L>$N9=B$BN$rDj5A$9$k$3$H(B 
$B$G$"$k!#$7$+$7!"%G!<%?$rE}0lE*$K07$&$K$O9=B$BN$N 
$B$3$H$,I,MW$K$J$k!#$=$3$G%*%V%8%'%/%H;X8~8@xxxxxx$G$"$k(BRuby$B$rMQ$$$F%G!<%?$r=@xxxxxx$K(B 
$B07$&$3$H$N$G$-$k2r@xxxxxx!&2D;k2=%D!<%k$N3+H/$r9T$&!#(B 
$B$^$:$O!"%D!<%k3+H/$K@xxxxxx$@xxxxxx$C$F$3$NB? $BB?  
$BB? 
C$B8@xxxxxx$rMQ$$$?(BRuby$B$N3HD%%i%$%V%i%j$H$7$F 
$B$J$k$H$3$m$O!"MWAG$H$7$F?tCM$7$+07$o$J$$$H$$$&E@xxxxxx$G$"$k$,!"?tCM$N$_$r07$&G[Ns%/(B 
$B%i%9$K$9$k$3$H$G 
$B$3$l$^$G$K!"(BInteger$B!"(BFloat$B$H$$$C$?4pK\7?$KBP$9$k;;=Q1i;;!"?t3X4X?t$N7W;;5!G=(B $B$r 
$B$H$7$F%5%V%;%C%H$N 
$BIA2h%/%i%9(B 
$B4pK\IA2h%i%$%V%i%j$H$7$F(BDCL(Dennou Club Library)$B$rMQ$$$k$3$H$K$9$k!#(BDCL$B$O(B Fortran$B$G=q$+$l$F$$$k$?$a(BRuby$B>e$GF0$+$9$?$a$N3HD%%i%$%V%i%j$,I,MW$H$J$k!#(B 
$B$^$:$O(BDCL$B$r(BC$B8@xxxxxx$KK]Lu$7!"(BC$BHG(BDCL$B$+$i3HD%%i%$%V%i%j(BRuby/DCL$B$r:n@xxxxxx$7$?!#(B 
$B99$K(BRuby/DCL$B%i%$%V(B$B%i%j$r2<0LAX$H$7!">e0LAX$H$7$F;H$$$d$9$/B?5!G=$JIA2h%i%$%V%i%j(B 
$B$r:n@xxxxxx$9$k!#%/%i%9@xxxxxx(B$B$K$O(BUML(Unified Modeling 
Language)$B$H$$$&%b%G%k@xxxxxx$N(B 
$B$?$a$N8@xxxxxx$rMQ$$$?!#$3$3$GIA2h(B$B%i%$%V%i%j$O$rK~$?$9$Y$/@xxxxxx$r9T$C$?!#(B 
$B!!!!!&IA$$$??^$r@xxxxxx$9$k$3$H$,$G$-$k!#(B $B!!!!!&(BRuby$B%9%/%j%W%H$G$b(BGUI$B$G$bMxMQ$G$-$k!#(B $B!!!!!&?^$+$i>pJs$r $B!!!!!&IA2hFbMF$r%U%!%$%k$KJ]B8$7$?$j!"%U%!%$%k$+$i$NFI$_=P$7$,9T$($k!#(B 
$BK\IA2h%/%i%9$K$*$$$F!"%Q%i%a!<%?JQ99$d%G!<%?$NIA2h$O2<0LAX$G9T$$!"?^$N@xxxxxx$r(B $B9T$C(B$B$?$jIA2hFbMF$NJ]B8$r9T$&>e$GI,MW$H$J$k%R%9%H%j5!G=!"99$K%^%&%9$K$h$kA`:n$r(B 
$B?7$?$K:n@xxxxxx$7$F$$$/!#$^$:!"%R%9%H%j5!G=$r 
$B$7$?!#%3%^%s%I%*%V%8%'%/%H$O%G!<%?!"%Q%i%a!<%?$+$i$J$k%W%m%Q%F%#$r;}$A!"$=$l$r%R%9%H%j(B 
$B$H$7$F@xxxxxx$_=E$M$F$$$/!#$3$3$G%W%m%Q%F%#@xxxxxx@xxxxxx$K$D$$$F=R$Y$F$*$/$H!"IA2h%/%i%9$K$*$$$F(B 
$BIA2hL?Na$,8F$S=P$5$l$k$H$^$:%3%^%s%I%*%V%8%'%/%H@xxxxxx@xxxxxx$N%/%i%9%a%=%C%I$r8F$S=P$9!#(B 
$B%W%m%Q%F%#$O%3%^%s%I%*%V%8%'%/%H@xxxxxx@xxxxxx$N:]!"%G!<%?!"%G%U%)%k%H%Q%i%a!<%?!"%3%^%s%I8GM-$N(B 
$B@xxxxxx$r$b$H$K@xxxxxx@xxxxxx$5$l!"%3%^%s%I%*%V%8%'%/%H$,%W%m%Q%F%#$r;}$D$H$$$&9=@xxxxxx$H$J$k!#(B  
$B:#8e$NE8K>(B 
$B!!B? $B9bEY$J(B$B?t3X4X?t$X$NBP1~$J$I!"$h$j 
$B$K4X$7$F$O(B$B%/%i%9@xxxxxx$r9T$$!" 
$BA`:n$r2DG=$K$9$k(B$B$3$H$K$h$C$F!"A`:n@xxxxxx$N9b$$!"$+$DB?5!G=$JIA2h%/%i%9$,40@xxxxxx$9$k(B 
$B$O$:$G$"$k!#$=$7$F$3$N(B$BB? 
$B2r@xxxxxx!"2D;k2=%D!<%k$N3+H/$r9T$C$F$$$/!#(B 
$B  
$BK\8&5f$r9T$&$K$"$?$C$F!"?t!9$N8f6(NO$rD:$$$?EEG>(Bdavis$B%W%m%8%'%/%H$N3'MM$K?<$/(B 
$B46 
 |