Skip to content

Commit

Permalink
feat: add sample.livescript.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Sep 15, 2021
1 parent c709d27 commit f9422b9
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions txt/sample.livescript.txt
Original file line number Diff line number Diff line change
@@ -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]

0 comments on commit f9422b9

Please sign in to comment.