Google

$BA0(B - $B>e(B - $B - $BL\

Struct

$B9=B$BN%/%i%9!%(BStruct.new$B$O$3$N%/%i%9$N%5%V%/%i(B $B%9$r?7$?$K@8@.$7$^$9!%8D!9$N9=B$BN$O%5%V%/%i%9$+$i(B new$B$r;H$C$F@8@.$7$^$9!%8D!9$N9=B$BN%5%V%/%i%9$G(B $B$O9=B$BN$N%a%s%P$KBP$9$k%"%/%;%9%a%=%C%I$,Dj5A$5$l$F$$$^$9!%(B

$B%9!<%Q!<%/%i%9(B:

Object

$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B:

Enumerable

$B%/%i%9%a%=%C%I(B:

new(name, member...)

Struct$B%/%i%9$K(Bname$B$H$$$&L>A0$N?7$7$$(B $B%5%V%/%i%9$r:n$C$F!$$=$l$rJV$7$^$9!%%5%V%/%i%9$G$O9=B$BN$N%a(B $B%s%P$KBP$9$k%"%/%;%9%a%=%C%I$,Dj5A$5$l$F$$$^$9!%Nc$($P(B:

dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age=6
printf "name:%s age:%d", fred.name, fred.age
$B$O(B"name:fred age:6"$B$r=PNO$7$^$9!%(B

$B9=B$BNL>$O(BStruct$B$N%/%i%9Dj?tL>$K$J$j$^$9$N$GBgJ8;z$G;O$^$kI,(B $BMW$,$"$j$^$9!%(B

$B9=B$BN%/%i%9$N%/%i%9%a%=%C%I(B:

new(value...)
[value...]

$B9=B$BN$r@8@.$7$^$9!%0z?t$O9=B$BN$N=i4|CM$G$9!%9=B$BN$N%a%s%P(B $B$N?t$HF1$8$@$10z?t$r;XDj$9$kI,MW$,$"$j$^$9!%(B

members

$B9=B$BN$N%a%s%P$NL>A0$NG[Ns$rJV$7$^$9!%(B

$B%a%=%C%I(B:

self[nth]

$B9=B$BN$N(Bnth$BHVL\$N%a%s%P$NCM$rJV$7$^$9!%(B nth$B$,J8;zNs$N>l9g$O$=$NL>A0$N%a%s%P$NCM$rJV$7$^$9!%(B

self[nth]=value

$B9=B$BN$N(Bnth$BHVL\$N%a%s%P$NCM$r(Bvalue$B$K$7(B $B$^$9!%(B

each

$B9=B$BN$N3F%a%s%P$KBP$7$F7+$jJV$7$^$9!%(B

members

$B9=B$BN$N%a%s%P$NL>A0$NG[Ns$rJV$7$^$9!%(B

values
to_a

$B9=B$BN$N%a%s%P$rG[Ns$K$$$l$FJV$7$^$9!%Nc$($P0J2<$N$h$&$K$7$F(B passwd$B$N%(%s%H%j$r=PNO$G$-$^$9!%(B

print Etc.getpwuid.values.join(":"), "\n"


$BA0(B - $B>e(B - $B - $BL\

matz@netlab.co.jp