peon/tests/closures.pn

25 lines
388 B
Plaintext

# Tests closures
import std;
fn makeClosure(x: int): fn: int {
fn inner: int {
return x;
}
return inner;
}
fn makeClosureTwo(y: int): fn: int {
fn inner: int {
return y;
}
return inner;
}
var closure = makeClosure(42);
print(closure()); # 42
print(makeClosureTwo(38)()); # 38
var closureTwo = makeClosureTwo(420);
print(closureTwo()); # 420