implemented 'koch pdf'
This commit is contained in:
parent
d4230e052d
commit
76c3b314dc
10 changed files with 30 additions and 23 deletions
43
tests/macros/tclosuremacro.nim
Normal file
43
tests/macros/tclosuremacro.nim
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
discard """
|
||||
output: '''10
|
||||
10
|
||||
10
|
||||
3
|
||||
3
|
||||
noReturn
|
||||
6
|
||||
'''
|
||||
"""
|
||||
|
||||
import future
|
||||
|
||||
proc twoParams(x: (int, int) -> int): int =
|
||||
result = x(5, 5)
|
||||
|
||||
proc oneParam(x: int -> int): int =
|
||||
x(5)
|
||||
|
||||
proc noParams(x: () -> int): int =
|
||||
result = x()
|
||||
|
||||
proc noReturn(x: () -> void) =
|
||||
x()
|
||||
|
||||
proc doWithOneAndTwo(f: (int, int) -> int): int =
|
||||
f(1,2)
|
||||
|
||||
echo twoParams(proc (a, b): auto = a + b)
|
||||
echo twoParams((x, y) => x + y)
|
||||
|
||||
echo oneParam(x => x+5)
|
||||
|
||||
echo noParams(() => 3)
|
||||
|
||||
echo doWithOneAndTwo((x, y) => x + y)
|
||||
|
||||
noReturn((() -> void) => echo("noReturn"))
|
||||
|
||||
proc pass2(f: (int, int) -> int): (int) -> int =
|
||||
((x: int) -> int) => f(2, x)
|
||||
|
||||
echo pass2((x, y) => x + y)(4)
|
||||
Loading…
Add table
Add a link
Reference in a new issue