1234567891011121314151617181920212223 |
- discard """
- action: run
- """
- import options
- type Foo = ref object
- i: int
- proc next(foo: Foo): Option[Foo] =
- try: assert(foo.i == 0)
- except: return # 2º: none
- return some(foo) # 1º: some
- proc test =
- let foo = Foo()
- var opt = next(foo) # 1º Some
- while isSome(opt) and foo.i < 10:
- inc(foo.i)
- opt = next(foo) # 2º None
- assert foo.i == 1, $foo.i
- test()
|