mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-10 06:54:16 +00:00
49 lines
866 B
Nim
49 lines
866 B
Nim
proc foo() = discard
|
|
foo()
|
|
|
|
proc bar(x: int): int = x
|
|
discard bar(1)
|
|
|
|
proc baz(x, y: int): int =
|
|
bar(x)
|
|
|
|
proc baz(a: bool; b: string; c: int): float = 0.0
|
|
|
|
proc forwardDecl()
|
|
proc forwardDecl() =
|
|
foo()
|
|
|
|
forwardDecl()
|
|
|
|
proc forwardDecl2*(): int
|
|
proc forwardDecl2*(): int = bar(1)
|
|
|
|
discard forwardDecl2()
|
|
|
|
proc forwardDecl3(x, y: int): int
|
|
proc forwardDecl3(x, y: int): int = x
|
|
|
|
discard forwardDecl3(3, 2)
|
|
|
|
func func1(): int = 123
|
|
discard func1()
|
|
func func2(x: int): int = x
|
|
func func3*(x, y: bool): bool = x
|
|
|
|
proc withDefaultValue(x = 1) = discard
|
|
withDefaultValue()
|
|
withDefaultValue(2)
|
|
withDefaultValue(x = 3)
|
|
|
|
proc withDefaultValue2(x = "foo"; y = true) = discard
|
|
withDefaultValue2()
|
|
withDefaultValue2("bar")
|
|
withDefaultValue2(x = "baz", y = false)
|
|
|
|
proc varParam(x: var int) = x = 10
|
|
var x = 0
|
|
varParam(x)
|
|
|
|
proc varRet(x: var int): var int = x
|
|
varRet(x) = 100
|