@@ -1,4 +1,6 @@
|
||||
class TestSequence is Sequence {
|
||||
construct new() {}
|
||||
|
||||
iterate(iterator) {
|
||||
if (iterator == null) return 1
|
||||
if (iterator == 10) return false
|
||||
|
||||
@@ -2,6 +2,7 @@ IO.print([].isEmpty) // expect: true
|
||||
IO.print([1].isEmpty) // expect: false
|
||||
|
||||
class InfiniteSequence is Sequence {
|
||||
construct new() {}
|
||||
iterate(iterator) { true }
|
||||
iteratorValue(iterator) { iterator }
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ class FibIterator {
|
||||
}
|
||||
|
||||
class Fib is Sequence {
|
||||
construct new() {}
|
||||
|
||||
iterate(iterator) {
|
||||
if (iterator == null) return FibIterator.new()
|
||||
iterator.iterate
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Sequence.new() // expect runtime error: Sequence metaclass does not implement 'new()'.
|
||||
@@ -1,4 +1,6 @@
|
||||
class TestSequence is Sequence {
|
||||
construct new() {}
|
||||
|
||||
iterate(iterator) {
|
||||
if (iterator == null) return 1
|
||||
if (iterator == 3) return false
|
||||
|
||||
@@ -15,6 +15,8 @@ class FibIterator {
|
||||
}
|
||||
|
||||
class Fib is Sequence {
|
||||
construct new() {}
|
||||
|
||||
iterate(iterator) {
|
||||
if (iterator == null) return FibIterator.new()
|
||||
iterator.iterate
|
||||
|
||||
Reference in New Issue
Block a user