イテレーターと普通のループとどう違うのかがイマイチ分かってなかった。んで本を読んでたら
イテレーターというのは、制御構造を関数として提供するものだ。・・・ループは関数の中に隠れており<・・・
とあって
def myeach(ary)
for val in ary
yield val
end
end
ary = [0, 1, 2]
myeach(ary){|i| print i , "\n"}
というrubyのコードと
sub myeach{
my ($ary , $sub) = @_;
foreach (@$ary){
&$sub($_);
}
}
my $ary = [0, 1, 2];
my $sub = sub{
my ($i) = @_;
print "$i\n";
};
myeach $ary , $sub;
というPerlのコードを読んで、ようやく皮膚感覚で理解できた。なるほげ。抽象化ってのはすばらしいものですね。

- 作者: 吉田和弘
- 出版社/メーカー: オーム社
- 発売日: 2003/04
- メディア: 単行本
- 購入: 1人 クリック: 1回
- この商品を含むブログ (5件) を見る