43 lines
704 B
Plaintext
43 lines
704 B
Plaintext
// testing syntactic sugars
|
|
|
|
// :: piping function call
|
|
|
|
var double = funct(num) :result = num * 2;
|
|
|
|
var four = 2 :: double();
|
|
|
|
var multiply = funct(num, factor) :result = num * factor;
|
|
|
|
var six = 2 :: multiply(3);
|
|
|
|
print (four);
|
|
print (six);
|
|
//expect:4.0
|
|
//expect:6.0
|
|
|
|
print (1 + 2 * 3 :: tostring() + "2");
|
|
//expect:7.02
|
|
|
|
// indexing tables with .
|
|
|
|
var nested = @{
|
|
lvl1 = @{
|
|
lvl2 = @{
|
|
lvl3 = 5
|
|
}
|
|
}
|
|
};
|
|
|
|
nested.lvl1.lvl2.lvl3 = 6;
|
|
print(nested.lvl1.lvl2.lvl3);
|
|
//expect:6.0
|
|
|
|
nested["lvl1"].lvl2["lvl3"] = 2;
|
|
print(nested.lvl1["lvl2"].lvl3);
|
|
//expect:2.0
|
|
|
|
nested["lvl1"]["lvl2"]["lvl3"] = -5.4;
|
|
nested .lvl1 .lvl2 .lvl3 :: print;
|
|
//expect:-5.4
|
|
|
|
// creating tables with : and no [] idents |