peon/tests/closures.pn

26 lines
420 B
Plaintext
Raw Normal View History

# Tests closures
2022-11-02 12:03:14 +01:00
import std;
fn makeClosure(x: int): fn: int {
fn inner: int {
return x;
}
return inner;
}
fn makeClosureTwo(y: int): fn: int {
fn inner: int {
2022-11-02 12:03:14 +01:00
return y;
2022-07-09 16:25:19 +02:00
}
return inner;
2022-05-29 14:52:47 +02:00
}
# These should all print true!
2022-11-02 12:03:14 +01:00
var closure = makeClosure(42);
print(closure() == 42);
print(makeClosureTwo(38)() == 38);
2022-11-02 12:03:14 +01:00
var closureTwo = makeClosureTwo(420);
print(closureTwo() == 420);