X-Git-Url: http://nitlanguage.org?ds=sidebyside diff --git a/lib/standard/collection/range.nit b/lib/standard/collection/range.nit index 0641c2b..9dbbc80 100644 --- a/lib/standard/collection/range.nit +++ b/lib/standard/collection/range.nit @@ -17,7 +17,7 @@ import abstract_collection # Range of discrete objects. class Range[E: Discrete] -special Collection[E] + super Collection[E] redef readable var _first: E @@ -42,6 +42,17 @@ special Collection[E] redef fun iterator do return new IteratorRange[E](self) + redef fun iterate + !each(e: E) + do + var c = _first + var l = _last + while c <= l do + each(c) + c = c.succ + end + end + redef fun length do var nb = _first.distance(_after) @@ -75,7 +86,7 @@ end class IteratorRange[E: Discrete] # Iterator on ranges. -special Iterator[E] + super Iterator[E] var _range: Range[E] redef readable var _item: E