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-10 15:07:57 +02:00
|
|
|
let n = n; # Workaround
|
2022-07-09 16:25:19 +02:00
|
|
|
fn inner: int {
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
return inner;
|
2022-05-29 14:52:47 +02:00
|
|
|
}
|
|
|
|
|
2022-06-13 17:28:05 +02:00
|
|
|
|
2022-07-31 16:09:22 +02:00
|
|
|
var closure = makeClosure(1)();
|
2022-08-17 17:31:15 +02:00
|
|
|
print(closure); # 1
|
|
|
|
print(makeClosure(2)()); # 2
|