From f9422b92383c298ce1c459538c59fb0bcbfdf6a0 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Wed, 15 Sep 2021 13:40:34 +0800 Subject: [PATCH] feat: add sample.livescript.txt --- txt/sample.livescript.txt | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 txt/sample.livescript.txt diff --git a/txt/sample.livescript.txt b/txt/sample.livescript.txt new file mode 100644 index 00000000..0f329aa8 --- /dev/null +++ b/txt/sample.livescript.txt @@ -0,0 +1,46 @@ +LiveScript +# Easy listing of implicit objects +table1 = + * id: 1 + name: 'george' + * id: 2 + name: 'mike' + * id: 3 + name: 'donald' + +table2 = + * id: 2 + age: 21 + * id: 1 + age: 20 + * id: 3 + age: 26 + +# Implicit access, accessignment +up-case-name = (.name .= to-upper-case!) + +# List comprehensions, destructuring, piping +[{id:id1, name, age} for {id:id1, name} in table1 + for {id:id2, age} in table2 + when id1 is id2] +|> sort-by (.id) # using 'sort-by' from prelude.ls +|> each up-case-name # using 'each' from prelude.ls +|> JSON.stringify +#=> +#[{"id":1,"name":"GEORGE","age":20}, +# {"id":2,"name":"MIKE", "age":21}, +# {"id":3,"name":"DONALD","age":26}] + +# operators as functions, piping +map (.age), table2 |> fold1 (+) +#=> 67 ('fold1' and 'map' from prelude.ls) + +r = +...[4 5 6] #=> [+4, +5, +6] +t = typeof! ...[\b 5 {}] #=> ["String", "Number", "Object"] +c = ~...[4, 5] #=> [-5, -6] +++...player<[strength hp]> +# also works with -, --, typeof, ! and delete! +i = new ...[some, classes] +c = ^^...[copy, these, {}] +delete ...list[1, 2, 3] +do ...[a, b, c] \ No newline at end of file