2022-08-17 17:31:15 +02:00
|
|
|
# Tests closures
|
|
|
|
import std;
|
|
|
|
|
|
|
|
|
2022-06-13 17:28:05 +02:00
|
|
|
fn makeClosure(n: int): fn: int {
|
2022-07-09 16:25:19 +02:00
|
|
|
fn inner: int {
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
return inner;
|
2022-05-29 14:52:47 +02:00
|
|
|
}
|
|
|
|
|
2022-08-19 10:45:07 +02:00
|
|
|
var closed = makeClosure(1)();
|
|
|
|
print(closed); # 1
|
|
|
|
print(makeClosure(2)()); # 2
|
|
|
|
var closure = makeClosure(3);
|
|
|
|
print(closure()); # 3
|
|
|
|
print(closure()); # 3
|