Array#choice$B$NGK2uE*(Bver.$B$NL>A0(B

e$B;a5W$G$9!#e(B

5e$B7ne(B2e$BF|$K!"e(Btrunke$B$Ke(BArray#choicee$B$,2C$o$j$^$7$?!#e(B
e$B$3$l$Oe(BArraye$B$Ne(Bat(rand(self.size))e$B$HF1$8$b$N$G$9!#e(B

e$B$3$l$KBP$7$F!"GK2uE*$K%i%s%@%`$KCM$r<h$j=P$9e(B
Array#choice!e$B$r:n$C$F$_$^$7$?!#e(B
( e$B:n$C$?$N$Oe(BRubye$B4X@>$Ne(Bokkeze$B$5$s$G$9e(B )
e$B$3$l$Oe(BArraye$B$Ne(Bdelete_at(rand(self.size))e$B$HF1$8$b$N$G$9!#e(B

e$BLdBj$H$J$k$N$OL>A0$G!"e(B
Array#choicee$B$KBP$7$Fe(Bate$B$,;H$o$l$k$J$ie(B
Array#choice!e$B$KBP$7$F$Oe(Bat!e$B$r4|BT$7$F$7$^$&$N$KBP$7e(B
e$B<B:]$K$Oe(Bdelete_ate$B$G$9!#e(B

e$BB>$NL>A0$r<h$j=P$9$J$i$P!"$d$k$3$H$,e(B
e$B!Ve(Brandomly taken from arraye$B!W$J$N$Ge(B
Array#takee$B$H$$$&$N$b9M$($i$l$^$9$,!"e(B
takee$B$@$He(BHaskelle$B$Ne(Btakee$B$N$h$&$KA4$/0UL#$N0c$&$b$N$He(B
e$B:.F1$7$F$7$^$$$=$&$G$9!#e(B

takee$B$Oe(BHaskelle$B$J$I$G@hF,$+$ie(Bne$B8D$NMWAG$r<h$j=P$9%a%=%C%I$G$9!#e(B

e$BB>$K9M$($i$l$k$N$Oe(Bpickupe$B$J$I$,$"$j$^$9$,!"e(B
e$B$I$N$h$&$JL>A0$,:G$b<+A3$K46$8$k$G$7$g$&$+e(B?