cuelang.org/go@v0.13.0/cue/testdata/comprehensions/015_list_comprehension.txtar (about) 1 #name: list comprehension 2 #evalFull 3 -- in.cue -- 4 a: [for k, v in b if k < "d" if v > b.a {k}] 5 b: { 6 a: 1 7 b: 2 8 c: 3 9 d: 4 10 } 11 c: [for _, x in b for _, y in b if x < y {x}] 12 d: [for x, _ in a {x}] 13 -- out/def -- 14 a: ["b", "c"] 15 b: { 16 a: 1 17 b: 2 18 c: 3 19 d: 4 20 } 21 c: [1, 1, 1, 2, 2, 3] 22 d: [0, 1] 23 -- out/export -- 24 a: ["b", "c"] 25 b: { 26 a: 1 27 b: 2 28 c: 3 29 d: 4 30 } 31 c: [1, 1, 1, 2, 2, 3] 32 d: [0, 1] 33 -- out/yaml -- 34 a: 35 - b 36 - c 37 b: 38 a: 1 39 b: 2 40 c: 3 41 d: 4 42 c: 43 - 1 44 - 1 45 - 1 46 - 2 47 - 2 48 - 3 49 d: 50 - 0 51 - 1 52 -- out/json -- 53 {"a":["b","c"],"b":{"a":1,"b":2,"c":3,"d":4},"c":[1,1,1,2,2,3],"d":[0,1]} 54 -- out/legacy-debug -- 55 <0>{a: ["b","c"], b: <1>{a: 1, b: 2, c: 3, d: 4}, c: [1,1,1,2,2,3], d: [0,1]} 56 -- out/compile -- 57 --- in.cue 58 { 59 a: [ 60 for k, v in 〈1;b〉 if (〈0;k〉 < "d") if (〈0;v〉 > 〈2;b〉.a) { 61 〈1;k〉 62 }, 63 ] 64 b: { 65 a: 1 66 b: 2 67 c: 3 68 d: 4 69 } 70 c: [ 71 for _, x in 〈1;b〉 for _, y in 〈2;b〉 if (〈1;x〉 < 〈0;y〉) { 72 〈2;x〉 73 }, 74 ] 75 d: [ 76 for x, _ in 〈1;a〉 { 77 〈1;x〉 78 }, 79 ] 80 } 81 -- out/eval/stats -- 82 Leaks: 0 83 Freed: 19 84 Reused: 12 85 Allocs: 7 86 Retain: 10 87 88 Unifications: 19 89 Conjuncts: 36 90 Disjuncts: 23 91 -- out/eval -- 92 (struct){ 93 a: (#list){ 94 0: (string){ "b" } 95 1: (string){ "c" } 96 } 97 b: (struct){ 98 a: (int){ 1 } 99 b: (int){ 2 } 100 c: (int){ 3 } 101 d: (int){ 4 } 102 } 103 c: (#list){ 104 0: (int){ 1 } 105 1: (int){ 1 } 106 2: (int){ 1 } 107 3: (int){ 2 } 108 4: (int){ 2 } 109 5: (int){ 3 } 110 } 111 d: (#list){ 112 0: (int){ 0 } 113 1: (int){ 1 } 114 } 115 }