nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
metamodel: rename 'universal' to 'enum'
[nit.git]
/
lib
/
standard
/
collection
/
range.nit
diff --git
a/lib/standard/collection/range.nit
b/lib/standard/collection/range.nit
index
0641c2b
..
9dbbc80
100644
(file)
--- 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]
# Range of discrete objects.
class Range[E: Discrete]
-special Collection[E]
+ super Collection[E]
redef readable var _first: E
redef readable var _first: E
@@
-42,6
+42,17
@@
special Collection[E]
redef fun iterator do return new IteratorRange[E](self)
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)
redef fun length
do
var nb = _first.distance(_after)
@@
-75,7
+86,7
@@
end
class IteratorRange[E: Discrete]
# Iterator on ranges.
class IteratorRange[E: Discrete]
# Iterator on ranges.
-special Iterator[E]
+ super Iterator[E]
var _range: Range[E]
redef readable var _item: E
var _range: Range[E]
redef readable var _item: E