blob: 79dae16af04b66b96ef232e23a42a21e009c1931 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* Step 1: Enhanced map with tables */
numbers : {1, 2, 3, 4, 5};
double : x -> x * 2;
/* Test map with single table */
doubled : map @double numbers;
first : doubled[1];
second : doubled[2];
third : doubled[3];
fourth : doubled[4];
fifth : doubled[5];
..assert first = 2;
..assert second = 4;
..assert third = 6;
..assert fourth = 8;
..assert fifth = 10;
/* Test map with key-value table */
person : {name: "Alice", age: 30, active: true};
add_ten : x -> x + 10;
mapped_person : map @add_ten person;
/* Note: This will add 10 to all values, including strings */
name_result : mapped_person.name;
age_result : mapped_person.age;
active_result : mapped_person.active;
..assert name_result = "Alice10";
..assert age_result = 40;
..assert active_result = 11;
/* Enhanced filter with tables */
is_even : x -> x % 2 = 0;
evens : filter @is_even numbers;
even_2 : evens[2];
even_4 : evens[4];
/* Note: Keys 1, 3, 5 don't exist in filtered result */
..assert even_2 = 2;
..assert even_4 = 4;
..out "Step 3 completed";
|