next steps for full closure support
This commit is contained in:
parent
7076f07228
commit
d5b01dfb7c
4 changed files with 153 additions and 134 deletions
|
|
@ -22,7 +22,9 @@ when true:
|
|||
for xxxx in 0..9:
|
||||
var i = 0
|
||||
proc bx =
|
||||
if i > 10: return
|
||||
if i > 10:
|
||||
echo xxxx
|
||||
return
|
||||
i += 1
|
||||
#for j in 0 .. 0: echo i
|
||||
bx()
|
||||
|
|
|
|||
|
|
@ -1,20 +1,24 @@
|
|||
discard """
|
||||
output: '''56'''
|
||||
output: '''56 66'''
|
||||
"""
|
||||
|
||||
type
|
||||
ITest = tuple[
|
||||
setter: proc(v: int) {.closure.},
|
||||
getter: proc(): int {.closure.}]
|
||||
getter1: proc(): int {.closure.},
|
||||
getter2: proc(): int {.closure.}]
|
||||
|
||||
proc getInterf(): ITest =
|
||||
var shared: int
|
||||
var shared, shared2: int
|
||||
|
||||
return (setter: proc (x: int) = shared = x,
|
||||
getter: proc (): int = return shared)
|
||||
return (setter: proc (x: int) =
|
||||
shared = x
|
||||
shared2 = x + 10,
|
||||
getter1: proc (): int = result = shared,
|
||||
getter2: proc (): int = return shared2)
|
||||
|
||||
var i = getInterf()
|
||||
i.setter(56)
|
||||
|
||||
echo i.getter()
|
||||
echo i.getter1(), " ", i.getter2()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue