mirror of https://github.com/japl-lang/japl.git
87 lines
1.0 KiB
Plaintext
87 lines
1.0 KiB
Plaintext
|
|
var y = 0; //a global to keep track of state
|
|
//does not need closures for this to work yet
|
|
|
|
fun next(x) {
|
|
if (x == 10)
|
|
{
|
|
y = y + 1;
|
|
x = 0;
|
|
}
|
|
if (y == 10)
|
|
return -1;
|
|
return x+y+1;
|
|
}
|
|
|
|
var i = 0;
|
|
for (; i != -1; i = next(i))
|
|
print(i);
|
|
// before using next
|
|
//output:0
|
|
// y = 0
|
|
//output:1
|
|
//output:2
|
|
//output:3
|
|
//output:4
|
|
//output:5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 1
|
|
//output:2
|
|
//output:3
|
|
//output:4
|
|
//output:5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 2
|
|
//output:3
|
|
//output:4
|
|
//output:5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 3
|
|
//output:4
|
|
//output:5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 4
|
|
//output:5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 5
|
|
//output:6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 6
|
|
//output:7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 7
|
|
//output:8
|
|
//output:9
|
|
//output:10
|
|
// y = 8
|
|
//output:9
|
|
//output:10
|
|
// y = 9
|
|
//output:10
|
|
// y = 10
|