diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-11 03:32:12 -0800 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-11 03:32:12 -0800 |
| commit | 9d8c7014416b6cffae66497b1c923f862fe6aa1a (patch) | |
| tree | 27e0c27cf673ebbf0d926a8f2c89de5624965369 /lib/collections.nom | |
| parent | bfe66a70e6fb4ac20253f6d5fb85946ef14ecbc6 (diff) | |
Added "%'s id" to use UUIDs and changed "% = %" to "set % = %" and some
other misc.
Diffstat (limited to 'lib/collections.nom')
| -rw-r--r-- | lib/collections.nom | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/lib/collections.nom b/lib/collections.nom index 3d87924..fb66468 100644 --- a/lib/collections.nom +++ b/lib/collections.nom @@ -48,7 +48,7 @@ compile [length of %list, size of %list, size %list, number of %list, len %list] compile [%list ->* %indices] to: assert ((%indices's "type") == "List") ".." Expected List for chained lookup, not \(%indices's "type") - %ret = "\(%list as lua)" + set %ret = "\(%list as lua)" for %index in (%indices's "value"): %ret join= "[\(%index as lua)]" return "\%ret" @@ -72,33 +72,23 @@ compile [remove index %index from %list] to: action [flatten %lists]: - %flat = [] + set %flat = [] for %list in %lists: for %item in %list: add %item to %flat return %flat action [dict %items]: - %dict = [] - for %pair in %items: - %dict -> (%pair -> 1) = (%pair -> 2) - return %dict + {(%->1)=(%->2) for all %items} action [entries in %dict]: - %entries = [] - for %k = %v in %dict: - add {key=%k, value=%v} to %entries - return %entries + [{key=%k, value=%v} for %k=%v in %dict] action [keys in %dict]: - %keys = [] - for %k = %v in %dict: add %k to %keys - return %keys + [%k for %k=%v in %dict] action [values in %dict]: - %values = [] - for %k = %v in %dict: add %v to %values - return %values + [%v for %k=%v in %dict] # List Comprehension compile [%expression for %item in %iterable] to: |
