2003-10-09 (Thu)
_ イテレータ(Sather)
イテレータを実装。以下のようなコードが動くようになった。
class MAIN is
upto!(once from: INT, once to: INT): INT is
i ::= from;
loop
while!(i <= to);
yield i;
i := i + 1;
end;
end;
sum!(i: INT): INT is
r ::= 0;
loop
r := r + i;
yield r;
end;
end;
product!(i: INT): INT is
r ::= 1;
loop
r := r * i;
yield r;
end;
end;
main is
sum: INT;
product: INT;
loop
i ::= upto!(1, 10);
#OUT + "i=" + i + "\n";
sum := sum!(i);
product := product!(i);
end;
#OUT + "sum=" + sum + "\n";
#OUT + "product=" + product + "\n";
end;
end;
実行結果は以下の通り。
i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 sum=55 product=3628800
[ツッコミを入れる]
[TrackBack URL: http://shugo.net/jit/tb.rb/20031009]
本日のリンク元
- http://www.banana-fish.com/~piro/200505.html ×16
- http://www.banana-fish.com/~piro/20050510.html ×3
- http://search.live.com/results.aspx?q=product&form... ×2
- http://search.live.com/results.aspx?q=product&mrt=... ×2
- http://search.live.com/results.aspx?mkt=ja-jp&FORM... ×1
- http://search.hatena.ne.jp/search?ie=utf8&word=sat... ×1
- http://banana-fish.com/200505.html ×1
- http://www.banana-fish.com/200505.html ×1
- http://search.live.com/results.aspx?q=product ×1
- http://search.live.com/results.aspx?q=Java イテレータ&f... ×1
- http://ruby.mirror.easynet.be/ja/column/v0003.html... ×1
- http://search.live.com/results.aspx?q=イテレータ&src=IE... ×1
- http://search.live.com/results.aspx?q=JAVA イテレータ&f... ×1
- http://search.live.com/results.aspx?q=search ×1
- http://images.search.yahoo.com/search/images/view?... ×1
