mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
25 lines
492 B
Nim
25 lines
492 B
Nim
discard """
|
|
output: '''56 66'''
|
|
"""
|
|
|
|
type
|
|
ITest = tuple[
|
|
setter: proc(v: int) {.closure.},
|
|
getter1: proc(): int {.closure.},
|
|
getter2: proc(): int {.closure.}]
|
|
|
|
proc getInterf(): ITest =
|
|
var shared1, shared2: int
|
|
|
|
return (setter: proc (x: int) =
|
|
shared1 = x
|
|
shared2 = x + 10,
|
|
getter1: proc (): int = result = shared1,
|
|
getter2: proc (): int = return shared2)
|
|
|
|
var i = getInterf()
|
|
i.setter(56)
|
|
|
|
echo i.getter1(), " ", i.getter2()
|
|
|