1 |
#### Standalone generator expression |
2 |
var x = (i+1 for i in 1:3) |
3 |
# This is NOT a list. TODO: This test is overspecified. |
4 |
pp cell x | grep -o '<generator' |
5 |
write status=$? |
6 |
## status: 2 |
7 |
## STDOUT: |
8 |
## END |
9 |
|
10 |
|
11 |
|
12 |
#### List comprehension (deferred) |
13 |
shopt -s oil:all |
14 |
|
15 |
var n = [i*2 for i in range(5)] |
16 |
write --sep ' ' @n |
17 |
|
18 |
# TODO: Test this |
19 |
#var n = [i*2 for i,j in range(5)] |
20 |
|
21 |
var even = [i*2 for i in range(5) if i % 2 === 0] |
22 |
write --sep ' ' @even |
23 |
## status: 2 |
24 |
## STDOUT: |
25 |
## END |
26 |
|
27 |
|
28 |
#### Lambda not implemented |
29 |
const f = |x| x + 1 |
30 |
|
31 |
## status: 2 |
32 |
## STDOUT: |
33 |
## END |
34 |
|
35 |
#### Anonymous function expression not implemented (Tea) |
36 |
|
37 |
# Note: this results in a expr.Lambda node. But it's not parsed. |
38 |
|
39 |
const f = func(x) { |
40 |
myfunc(x) |
41 |
return x + 1 |
42 |
} |
43 |
|
44 |
## status: 2 |
45 |
## STDOUT: |
46 |
## END |