diff options
Diffstat (limited to 'spec/outputs/codes_from_doc.lua')
-rw-r--r-- | spec/outputs/codes_from_doc.lua | 844 |
1 files changed, 824 insertions, 20 deletions
diff --git a/spec/outputs/codes_from_doc.lua b/spec/outputs/codes_from_doc.lua index 27f8de5..b7d1236 100644 --- a/spec/outputs/codes_from_doc.lua +++ b/spec/outputs/codes_from_doc.lua | |||
@@ -20,6 +20,38 @@ local inventory = { | |||
20 | } | 20 | } |
21 | } | 21 | } |
22 | } | 22 | } |
23 | local map | ||
24 | map = function(arr, action) | ||
25 | local _accum_0 = { } | ||
26 | local _len_0 = 1 | ||
27 | for _index_0 = 1, #arr do | ||
28 | local item = arr[_index_0] | ||
29 | _accum_0[_len_0] = action(item) | ||
30 | _len_0 = _len_0 + 1 | ||
31 | end | ||
32 | return _accum_0 | ||
33 | end | ||
34 | local filter | ||
35 | filter = function(arr, cond) | ||
36 | local _accum_0 = { } | ||
37 | local _len_0 = 1 | ||
38 | for _index_0 = 1, #arr do | ||
39 | local item = arr[_index_0] | ||
40 | if cond(item) then | ||
41 | _accum_0[_len_0] = item | ||
42 | _len_0 = _len_0 + 1 | ||
43 | end | ||
44 | end | ||
45 | return _accum_0 | ||
46 | end | ||
47 | local reduce | ||
48 | reduce = function(arr, init, action) | ||
49 | for _index_0 = 1, #arr do | ||
50 | local item = arr[_index_0] | ||
51 | init = action(init, item) | ||
52 | end | ||
53 | return init | ||
54 | end | ||
23 | print(reduce(filter(map({ | 55 | print(reduce(filter(map({ |
24 | 1, | 56 | 1, |
25 | 2, | 57 | 2, |
@@ -77,6 +109,12 @@ end | |||
77 | print("yuescript") | 109 | print("yuescript") |
78 | print(3) | 110 | print(3) |
79 | print("Valid enum type:", "Static") | 111 | print("Valid enum type:", "Static") |
112 | do | ||
113 | print(123, "hello") | ||
114 | end | ||
115 | do | ||
116 | print(123, "hello") | ||
117 | end | ||
80 | if tb ~= nil then | 118 | if tb ~= nil then |
81 | tb:func() | 119 | tb:func() |
82 | end | 120 | end |
@@ -177,6 +215,16 @@ for _key_0, _value_0 in pairs(b) do | |||
177 | end | 215 | end |
178 | end | 216 | end |
179 | merge = _tab_0 | 217 | merge = _tab_0 |
218 | local last | ||
219 | do | ||
220 | local _item_0 = data.items | ||
221 | last = _item_0[#_item_0] | ||
222 | end | ||
223 | local second_last | ||
224 | do | ||
225 | local _item_0 = data.items | ||
226 | second_last = _item_0[#_item_0 - 1] | ||
227 | end | ||
180 | local mt = { } | 228 | local mt = { } |
181 | local add | 229 | local add |
182 | add = function(self, right) | 230 | add = function(self, right) |
@@ -307,6 +355,14 @@ func({ | |||
307 | 2, | 355 | 2, |
308 | 3 | 356 | 3 |
309 | }) | 357 | }) |
358 | local f | ||
359 | f = function() | ||
360 | return { | ||
361 | 1, | ||
362 | 2, | ||
363 | 3 | ||
364 | } | ||
365 | end | ||
310 | local tb = { | 366 | local tb = { |
311 | name = "abc", | 367 | name = "abc", |
312 | values = { | 368 | values = { |
@@ -547,6 +603,59 @@ end | |||
547 | local two, four | 603 | local two, four |
548 | local _obj_0 = items | 604 | local _obj_0 = items |
549 | two, four = _obj_0[2], _obj_0[4] | 605 | two, four = _obj_0[2], _obj_0[4] |
606 | local orders = { | ||
607 | "first", | ||
608 | "second", | ||
609 | "third", | ||
610 | "fourth", | ||
611 | "last" | ||
612 | } | ||
613 | local first, bulk, last = orders[1], (function() | ||
614 | local _accum_0 = { } | ||
615 | local _len_0 = 1 | ||
616 | local _max_0 = #orders + -2 + 1 | ||
617 | for _index_0 = 2, _max_0 do | ||
618 | local _item_0 = orders[_index_0] | ||
619 | _accum_0[_len_0] = _item_0 | ||
620 | _len_0 = _len_0 + 1 | ||
621 | end | ||
622 | return _accum_0 | ||
623 | end)(), orders[#orders] | ||
624 | print(first) | ||
625 | print(bulk) | ||
626 | print(last) | ||
627 | local first, rest | ||
628 | do | ||
629 | local _obj_0 = orders | ||
630 | first, rest = _obj_0[1], (function() | ||
631 | local _accum_0 = { } | ||
632 | local _len_0 = 1 | ||
633 | local _max_0 = #_obj_0 | ||
634 | for _index_0 = 2, _max_0 do | ||
635 | local _item_0 = _obj_0[_index_0] | ||
636 | _accum_0[_len_0] = _item_0 | ||
637 | _len_0 = _len_0 + 1 | ||
638 | end | ||
639 | return _accum_0 | ||
640 | end)() | ||
641 | end | ||
642 | local start, last | ||
643 | do | ||
644 | local _obj_0 = orders | ||
645 | start, last = (function() | ||
646 | local _accum_0 = { } | ||
647 | local _len_0 = 1 | ||
648 | local _max_0 = #_obj_0 + -2 + 1 | ||
649 | for _index_0 = 1, _max_0 do | ||
650 | local _item_0 = _obj_0[_index_0] | ||
651 | _accum_0[_len_0] = _item_0 | ||
652 | _len_0 = _len_0 + 1 | ||
653 | end | ||
654 | return _accum_0 | ||
655 | end)(), _obj_0[#_obj_0] | ||
656 | end | ||
657 | local _obj_0 = orders | ||
658 | first, last = _obj_0[1], _obj_0[#_obj_0] | ||
550 | local tuples = { | 659 | local tuples = { |
551 | { | 660 | { |
552 | "hello", | 661 | "hello", |
@@ -648,6 +757,56 @@ end) | |||
648 | if success then | 757 | if success then |
649 | print(result) | 758 | print(result) |
650 | end | 759 | end |
760 | local a, b, c | ||
761 | do | ||
762 | local _ok_0, _ret_0, _ret_1, _ret_2 = pcall(function() | ||
763 | return func() | ||
764 | end) | ||
765 | if _ok_0 then | ||
766 | a, b, c = _ret_0, _ret_1, _ret_2 | ||
767 | end | ||
768 | end | ||
769 | do | ||
770 | local _exp_0 = ((function() | ||
771 | return (function(_arg_0, ...) | ||
772 | local _ok_0 = _arg_0 | ||
773 | if _ok_0 then | ||
774 | return ... | ||
775 | end | ||
776 | end)(pcall(function() | ||
777 | return func() | ||
778 | end)) | ||
779 | end)()) | ||
780 | if _exp_0 ~= nil then | ||
781 | a = _exp_0 | ||
782 | else | ||
783 | a = "default" | ||
784 | end | ||
785 | end | ||
786 | f((function() | ||
787 | return (function(_arg_0, ...) | ||
788 | local _ok_0 = _arg_0 | ||
789 | if _ok_0 then | ||
790 | return ... | ||
791 | end | ||
792 | end)(pcall(function() | ||
793 | return func() | ||
794 | end)) | ||
795 | end)()) | ||
796 | f((function() | ||
797 | return (function(_arg_0, ...) | ||
798 | local _ok_0 = _arg_0 | ||
799 | if _ok_0 then | ||
800 | return ... | ||
801 | end | ||
802 | end)(xpcall(function() | ||
803 | print(123) | ||
804 | return func() | ||
805 | end, function(e) | ||
806 | print(e) | ||
807 | return e | ||
808 | end)) | ||
809 | end)()) | ||
651 | local a <const> = 123 | 810 | local a <const> = 123 |
652 | local _ <close> = setmetatable({ }, { | 811 | local _ <close> = setmetatable({ }, { |
653 | __close = function() | 812 | __close = function() |
@@ -657,10 +816,19 @@ local _ <close> = setmetatable({ }, { | |||
657 | local a, b, c, d | 816 | local a, b, c, d |
658 | local _obj_0 = tb | 817 | local _obj_0 = tb |
659 | a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2] | 818 | a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2] |
819 | Constant = 123 | ||
660 | local some_string = "Here is a string\n that has a line break in it." | 820 | local some_string = "Here is a string\n that has a line break in it." |
661 | print("I am " .. tostring(math.random() * 100) .. "% sure.") | 821 | print("I am " .. tostring(math.random() * 100) .. "% sure.") |
662 | local integer = 1000000 | 822 | local integer = 1000000 |
663 | local hex = 0xEFBBBF | 823 | local hex = 0xEFBBBF |
824 | local binary = 19 | ||
825 | local str = "key: value\nlist:\n - item1\n - " .. tostring(expr) | ||
826 | local fn | ||
827 | fn = function() | ||
828 | local str = "foo:\n bar: baz" | ||
829 | return str | ||
830 | end | ||
831 | local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'" | ||
664 | local my_function | 832 | local my_function |
665 | my_function = function() end | 833 | my_function = function() end |
666 | my_function() | 834 | my_function() |
@@ -860,11 +1028,10 @@ for i, item in ipairs(items) do | |||
860 | _len_0 = _len_0 + 1 | 1028 | _len_0 = _len_0 + 1 |
861 | end | 1029 | end |
862 | doubled = _accum_0 | 1030 | doubled = _accum_0 |
863 | local iter = ipairs(items) | ||
864 | local slice | 1031 | local slice |
865 | local _accum_0 = { } | 1032 | local _accum_0 = { } |
866 | local _len_0 = 1 | 1033 | local _len_0 = 1 |
867 | for i, item in iter do | 1034 | for i, item in ipairs(items) do |
868 | if i > 1 and i < 3 then | 1035 | if i > 1 and i < 3 then |
869 | _accum_0[_len_0] = item | 1036 | _accum_0[_len_0] = item |
870 | _len_0 = _len_0 + 1 | 1037 | _len_0 = _len_0 + 1 |
@@ -971,8 +1138,7 @@ local slice | |||
971 | local _accum_0 = { } | 1138 | local _accum_0 = { } |
972 | local _len_0 = 1 | 1139 | local _len_0 = 1 |
973 | local _list_0 = items | 1140 | local _list_0 = items |
974 | local _max_0 = 5 | 1141 | for _index_0 = 1, 5 do |
975 | for _index_0 = 1, _max_0 < 0 and #_list_0 + _max_0 or _max_0 do | ||
976 | local item = _list_0[_index_0] | 1142 | local item = _list_0[_index_0] |
977 | _accum_0[_len_0] = item | 1143 | _accum_0[_len_0] = item |
978 | _len_0 = _len_0 + 1 | 1144 | _len_0 = _len_0 + 1 |
@@ -982,7 +1148,8 @@ local slice | |||
982 | local _accum_0 = { } | 1148 | local _accum_0 = { } |
983 | local _len_0 = 1 | 1149 | local _len_0 = 1 |
984 | local _list_0 = items | 1150 | local _list_0 = items |
985 | for _index_0 = 2, #_list_0 do | 1151 | local _max_0 = #_list_0 |
1152 | for _index_0 = 2, _max_0 do | ||
986 | local item = _list_0[_index_0] | 1153 | local item = _list_0[_index_0] |
987 | _accum_0[_len_0] = item | 1154 | _accum_0[_len_0] = item |
988 | _len_0 = _len_0 + 1 | 1155 | _len_0 = _len_0 + 1 |
@@ -992,12 +1159,46 @@ local slice | |||
992 | local _accum_0 = { } | 1159 | local _accum_0 = { } |
993 | local _len_0 = 1 | 1160 | local _len_0 = 1 |
994 | local _list_0 = items | 1161 | local _list_0 = items |
995 | for _index_0 = 1, #_list_0, 2 do | 1162 | local _max_0 = #_list_0 |
1163 | for _index_0 = 1, _max_0, 2 do | ||
996 | local item = _list_0[_index_0] | 1164 | local item = _list_0[_index_0] |
997 | _accum_0[_len_0] = item | 1165 | _accum_0[_len_0] = item |
998 | _len_0 = _len_0 + 1 | 1166 | _len_0 = _len_0 + 1 |
999 | end | 1167 | end |
1000 | slice = _accum_0 | 1168 | slice = _accum_0 |
1169 | local slice | ||
1170 | local _accum_0 = { } | ||
1171 | local _len_0 = 1 | ||
1172 | local _list_0 = items | ||
1173 | local _min_0 = #_list_0 + -4 + 1 | ||
1174 | local _max_0 = #_list_0 + -1 + 1 | ||
1175 | for _index_0 = _min_0, _max_0 do | ||
1176 | local item = _list_0[_index_0] | ||
1177 | _accum_0[_len_0] = item | ||
1178 | _len_0 = _len_0 + 1 | ||
1179 | end | ||
1180 | slice = _accum_0 | ||
1181 | local reverse_slice | ||
1182 | local _accum_0 = { } | ||
1183 | local _len_0 = 1 | ||
1184 | local _list_0 = items | ||
1185 | local _min_0 = #_list_0 + -1 + 1 | ||
1186 | for _index_0 = _min_0, 1, -1 do | ||
1187 | local item = _list_0[_index_0] | ||
1188 | _accum_0[_len_0] = item | ||
1189 | _len_0 = _len_0 + 1 | ||
1190 | end | ||
1191 | reverse_slice = _accum_0 | ||
1192 | local sub_list | ||
1193 | local _accum_0 = { } | ||
1194 | local _len_0 = 1 | ||
1195 | local _list_0 = items | ||
1196 | for _index_0 = 2, 4 do | ||
1197 | local _item_0 = _list_0[_index_0] | ||
1198 | _accum_0[_len_0] = _item_0 | ||
1199 | _len_0 = _len_0 + 1 | ||
1200 | end | ||
1201 | sub_list = _accum_0 | ||
1001 | for i = 10, 20 do | 1202 | for i = 10, 20 do |
1002 | print(i) | 1203 | print(i) |
1003 | end | 1204 | end |
@@ -1008,8 +1209,7 @@ for key, value in pairs(object) do | |||
1008 | print(key, value) | 1209 | print(key, value) |
1009 | end | 1210 | end |
1010 | local _list_0 = items | 1211 | local _list_0 = items |
1011 | local _max_0 = 4 | 1212 | for _index_0 = 2, 4 do |
1012 | for _index_0 = 2, _max_0 < 0 and #_list_0 + _max_0 or _max_0 do | ||
1013 | local item = _list_0[_index_0] | 1213 | local item = _list_0[_index_0] |
1014 | print(item) | 1214 | print(item) |
1015 | end | 1215 | end |
@@ -1027,12 +1227,24 @@ local _len_0 = 1 | |||
1027 | for i = 1, 20 do | 1227 | for i = 1, 20 do |
1028 | if i % 2 == 0 then | 1228 | if i % 2 == 0 then |
1029 | _accum_0[_len_0] = i * 2 | 1229 | _accum_0[_len_0] = i * 2 |
1230 | _len_0 = _len_0 + 1 | ||
1030 | else | 1231 | else |
1031 | _accum_0[_len_0] = i | 1232 | _accum_0[_len_0] = i |
1233 | _len_0 = _len_0 + 1 | ||
1032 | end | 1234 | end |
1033 | _len_0 = _len_0 + 1 | ||
1034 | end | 1235 | end |
1035 | doubled_evens = _accum_0 | 1236 | doubled_evens = _accum_0 |
1237 | local first_large | ||
1238 | local _accum_0 | ||
1239 | local _list_0 = numbers | ||
1240 | for _index_0 = 1, #_list_0 do | ||
1241 | local n = _list_0[_index_0] | ||
1242 | if n > 10 then | ||
1243 | _accum_0 = n | ||
1244 | break | ||
1245 | end | ||
1246 | end | ||
1247 | first_large = _accum_0 | ||
1036 | local func_a | 1248 | local func_a |
1037 | func_a = function() | 1249 | func_a = function() |
1038 | for i = 1, 10 do | 1250 | for i = 1, 10 do |
@@ -1181,7 +1393,7 @@ if "Robert" == name then | |||
1181 | elseif "Dan" == name or "Daniel" == name then | 1393 | elseif "Dan" == name or "Daniel" == name then |
1182 | print("Your name, it's Dan") | 1394 | print("Your name, it's Dan") |
1183 | else | 1395 | else |
1184 | print("I don't know about your name") | 1396 | print("I don't know about you with name " .. tostring(name)) |
1185 | end | 1397 | end |
1186 | local b = 1 | 1398 | local b = 1 |
1187 | local next_number | 1399 | local next_number |
@@ -1281,6 +1493,192 @@ if _tab_0 then | |||
1281 | end | 1493 | end |
1282 | print("Vec2 " .. tostring(x) .. ", " .. tostring(y)) | 1494 | print("Vec2 " .. tostring(x) .. ", " .. tostring(y)) |
1283 | end | 1495 | end |
1496 | local _exp_0 = tb | ||
1497 | local _type_0 = type(_exp_0) | ||
1498 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
1499 | local _match_0 = false | ||
1500 | if _tab_0 then | ||
1501 | if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then | ||
1502 | _match_0 = true | ||
1503 | print("1, 2, 3") | ||
1504 | end | ||
1505 | end | ||
1506 | if not _match_0 then | ||
1507 | local _match_1 = false | ||
1508 | if _tab_0 then | ||
1509 | local b = _exp_0[2] | ||
1510 | if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then | ||
1511 | _match_1 = true | ||
1512 | print("1, " .. tostring(b) .. ", 3") | ||
1513 | end | ||
1514 | end | ||
1515 | if not _match_1 then | ||
1516 | if _tab_0 then | ||
1517 | local b = _exp_0[3] | ||
1518 | if b == nil then | ||
1519 | b = 3 | ||
1520 | end | ||
1521 | if 1 == _exp_0[1] and 2 == _exp_0[2] then | ||
1522 | print("1, 2, " .. tostring(b)) | ||
1523 | end | ||
1524 | end | ||
1525 | end | ||
1526 | end | ||
1527 | local _exp_0 = tb | ||
1528 | local _type_0 = type(_exp_0) | ||
1529 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
1530 | local _match_0 = false | ||
1531 | if _tab_0 then | ||
1532 | local result = _exp_0.result | ||
1533 | if true == _exp_0.success and result ~= nil then | ||
1534 | _match_0 = true | ||
1535 | print("success", result) | ||
1536 | end | ||
1537 | end | ||
1538 | if not _match_0 then | ||
1539 | local _match_1 = false | ||
1540 | if _tab_0 then | ||
1541 | if false == _exp_0.success then | ||
1542 | _match_1 = true | ||
1543 | print("failed", result) | ||
1544 | end | ||
1545 | end | ||
1546 | if not _match_1 then | ||
1547 | print("invalid") | ||
1548 | end | ||
1549 | end | ||
1550 | local _exp_0 = tb | ||
1551 | local _type_0 = type(_exp_0) | ||
1552 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
1553 | local _match_0 = false | ||
1554 | if _tab_0 then | ||
1555 | local content | ||
1556 | do | ||
1557 | local _obj_0 = _exp_0.data | ||
1558 | local _type_1 = type(_obj_0) | ||
1559 | if "table" == _type_1 or "userdata" == _type_1 then | ||
1560 | content = _obj_0.content | ||
1561 | end | ||
1562 | end | ||
1563 | local _val_0 | ||
1564 | do | ||
1565 | local _obj_0 = _exp_0.data | ||
1566 | if _obj_0 ~= nil then | ||
1567 | _val_0 = _obj_0.type | ||
1568 | end | ||
1569 | end | ||
1570 | if "success" == _val_0 and content ~= nil then | ||
1571 | _match_0 = true | ||
1572 | print("success", content) | ||
1573 | end | ||
1574 | end | ||
1575 | if not _match_0 then | ||
1576 | local _match_1 = false | ||
1577 | if _tab_0 then | ||
1578 | local content | ||
1579 | do | ||
1580 | local _obj_0 = _exp_0.data | ||
1581 | local _type_1 = type(_obj_0) | ||
1582 | if "table" == _type_1 or "userdata" == _type_1 then | ||
1583 | content = _obj_0.content | ||
1584 | end | ||
1585 | end | ||
1586 | local _val_0 | ||
1587 | do | ||
1588 | local _obj_0 = _exp_0.data | ||
1589 | if _obj_0 ~= nil then | ||
1590 | _val_0 = _obj_0.type | ||
1591 | end | ||
1592 | end | ||
1593 | if "error" == _val_0 and content ~= nil then | ||
1594 | _match_1 = true | ||
1595 | print("failed", content) | ||
1596 | end | ||
1597 | end | ||
1598 | if not _match_1 then | ||
1599 | print("invalid") | ||
1600 | end | ||
1601 | end | ||
1602 | local _exp_0 = tb | ||
1603 | local _type_0 = type(_exp_0) | ||
1604 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
1605 | if _tab_0 then | ||
1606 | local fourth = _exp_0[4] | ||
1607 | local _val_0 | ||
1608 | do | ||
1609 | local _obj_0 = _exp_0[1] | ||
1610 | if _obj_0 ~= nil then | ||
1611 | _val_0 = _obj_0.a | ||
1612 | end | ||
1613 | end | ||
1614 | local _val_1 | ||
1615 | do | ||
1616 | local _obj_0 = _exp_0[1] | ||
1617 | if _obj_0 ~= nil then | ||
1618 | _val_1 = _obj_0.b | ||
1619 | end | ||
1620 | end | ||
1621 | local _val_2 | ||
1622 | do | ||
1623 | local _obj_0 = _exp_0[2] | ||
1624 | if _obj_0 ~= nil then | ||
1625 | _val_2 = _obj_0.a | ||
1626 | end | ||
1627 | end | ||
1628 | local _val_3 | ||
1629 | do | ||
1630 | local _obj_0 = _exp_0[2] | ||
1631 | if _obj_0 ~= nil then | ||
1632 | _val_3 = _obj_0.b | ||
1633 | end | ||
1634 | end | ||
1635 | local _val_4 | ||
1636 | do | ||
1637 | local _obj_0 = _exp_0[3] | ||
1638 | if _obj_0 ~= nil then | ||
1639 | _val_4 = _obj_0.a | ||
1640 | end | ||
1641 | end | ||
1642 | local _val_5 | ||
1643 | do | ||
1644 | local _obj_0 = _exp_0[3] | ||
1645 | if _obj_0 ~= nil then | ||
1646 | _val_5 = _obj_0.b | ||
1647 | end | ||
1648 | end | ||
1649 | if 1 == _val_0 and 2 == _val_1 and 3 == _val_2 and 4 == _val_3 and 5 == _val_4 and 6 == _val_5 and fourth ~= nil then | ||
1650 | print("matched", fourth) | ||
1651 | end | ||
1652 | end | ||
1653 | local segments = { | ||
1654 | "admin", | ||
1655 | "users", | ||
1656 | "logs", | ||
1657 | "view" | ||
1658 | } | ||
1659 | local _type_0 = type(segments) | ||
1660 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
1661 | if _tab_0 then | ||
1662 | local groups | ||
1663 | do | ||
1664 | local _accum_0 = { } | ||
1665 | local _len_0 = 1 | ||
1666 | local _max_0 = #segments + -3 + 1 | ||
1667 | for _index_0 = 1, _max_0 do | ||
1668 | local _item_0 = segments[_index_0] | ||
1669 | _accum_0[_len_0] = _item_0 | ||
1670 | _len_0 = _len_0 + 1 | ||
1671 | end | ||
1672 | groups = _accum_0 | ||
1673 | end | ||
1674 | local resource = segments[#segments - 1] | ||
1675 | local action = segments[#segments] | ||
1676 | if resource ~= nil and action ~= nil then | ||
1677 | print("Group:", groups) | ||
1678 | print("Resource:", resource) | ||
1679 | print("Action:", action) | ||
1680 | end | ||
1681 | end | ||
1284 | local Inventory | 1682 | local Inventory |
1285 | local _class_0 | 1683 | local _class_0 |
1286 | local _base_0 = { | 1684 | local _base_0 = { |
@@ -1937,6 +2335,10 @@ do | |||
1937 | _with_1["key-name"] = value | 2335 | _with_1["key-name"] = value |
1938 | end | 2336 | end |
1939 | _with_0[#_with_0 + 1] = "abc" | 2337 | _with_0[#_with_0 + 1] = "abc" |
2338 | local _with_0 = obj | ||
2339 | if _with_0 ~= nil then | ||
2340 | print(obj.name) | ||
2341 | end | ||
1940 | do | 2342 | do |
1941 | local var = "hello" | 2343 | local var = "hello" |
1942 | print(var) | 2344 | print(var) |
@@ -2027,6 +2429,38 @@ local inventory = { | |||
2027 | } | 2429 | } |
2028 | } | 2430 | } |
2029 | } | 2431 | } |
2432 | local map | ||
2433 | map = function(arr, action) | ||
2434 | local _accum_0 = { } | ||
2435 | local _len_0 = 1 | ||
2436 | for _index_0 = 1, #arr do | ||
2437 | local item = arr[_index_0] | ||
2438 | _accum_0[_len_0] = action(item) | ||
2439 | _len_0 = _len_0 + 1 | ||
2440 | end | ||
2441 | return _accum_0 | ||
2442 | end | ||
2443 | local filter | ||
2444 | filter = function(arr, cond) | ||
2445 | local _accum_0 = { } | ||
2446 | local _len_0 = 1 | ||
2447 | for _index_0 = 1, #arr do | ||
2448 | local item = arr[_index_0] | ||
2449 | if cond(item) then | ||
2450 | _accum_0[_len_0] = item | ||
2451 | _len_0 = _len_0 + 1 | ||
2452 | end | ||
2453 | end | ||
2454 | return _accum_0 | ||
2455 | end | ||
2456 | local reduce | ||
2457 | reduce = function(arr, init, action) | ||
2458 | for _index_0 = 1, #arr do | ||
2459 | local item = arr[_index_0] | ||
2460 | init = action(init, item) | ||
2461 | end | ||
2462 | return init | ||
2463 | end | ||
2030 | print(reduce(filter(map({ | 2464 | print(reduce(filter(map({ |
2031 | 1, | 2465 | 1, |
2032 | 2, | 2466 | 2, |
@@ -2084,6 +2518,12 @@ end | |||
2084 | print("yuescript") | 2518 | print("yuescript") |
2085 | print(3) | 2519 | print(3) |
2086 | print("Valid enum type:", "Static") | 2520 | print("Valid enum type:", "Static") |
2521 | do | ||
2522 | print(123, "hello") | ||
2523 | end | ||
2524 | do | ||
2525 | print(123, "hello") | ||
2526 | end | ||
2087 | if tb ~= nil then | 2527 | if tb ~= nil then |
2088 | tb:func() | 2528 | tb:func() |
2089 | end | 2529 | end |
@@ -2184,6 +2624,16 @@ for _key_0, _value_0 in pairs(b) do | |||
2184 | end | 2624 | end |
2185 | end | 2625 | end |
2186 | merge = _tab_0 | 2626 | merge = _tab_0 |
2627 | local last | ||
2628 | do | ||
2629 | local _item_0 = data.items | ||
2630 | last = _item_0[#_item_0] | ||
2631 | end | ||
2632 | local second_last | ||
2633 | do | ||
2634 | local _item_0 = data.items | ||
2635 | second_last = _item_0[#_item_0 - 1] | ||
2636 | end | ||
2187 | local mt = { } | 2637 | local mt = { } |
2188 | local add | 2638 | local add |
2189 | add = function(self, right) | 2639 | add = function(self, right) |
@@ -2314,6 +2764,14 @@ func({ | |||
2314 | 2, | 2764 | 2, |
2315 | 3 | 2765 | 3 |
2316 | }) | 2766 | }) |
2767 | local f | ||
2768 | f = function() | ||
2769 | return { | ||
2770 | 1, | ||
2771 | 2, | ||
2772 | 3 | ||
2773 | } | ||
2774 | end | ||
2317 | local tb = { | 2775 | local tb = { |
2318 | name = "abc", | 2776 | name = "abc", |
2319 | values = { | 2777 | values = { |
@@ -2554,6 +3012,59 @@ end | |||
2554 | local two, four | 3012 | local two, four |
2555 | local _obj_0 = items | 3013 | local _obj_0 = items |
2556 | two, four = _obj_0[2], _obj_0[4] | 3014 | two, four = _obj_0[2], _obj_0[4] |
3015 | local orders = { | ||
3016 | "first", | ||
3017 | "second", | ||
3018 | "third", | ||
3019 | "fourth", | ||
3020 | "last" | ||
3021 | } | ||
3022 | local first, bulk, last = orders[1], (function() | ||
3023 | local _accum_0 = { } | ||
3024 | local _len_0 = 1 | ||
3025 | local _max_0 = #orders + -2 + 1 | ||
3026 | for _index_0 = 2, _max_0 do | ||
3027 | local _item_0 = orders[_index_0] | ||
3028 | _accum_0[_len_0] = _item_0 | ||
3029 | _len_0 = _len_0 + 1 | ||
3030 | end | ||
3031 | return _accum_0 | ||
3032 | end)(), orders[#orders] | ||
3033 | print(first) | ||
3034 | print(bulk) | ||
3035 | print(last) | ||
3036 | local first, rest | ||
3037 | do | ||
3038 | local _obj_0 = orders | ||
3039 | first, rest = _obj_0[1], (function() | ||
3040 | local _accum_0 = { } | ||
3041 | local _len_0 = 1 | ||
3042 | local _max_0 = #_obj_0 | ||
3043 | for _index_0 = 2, _max_0 do | ||
3044 | local _item_0 = _obj_0[_index_0] | ||
3045 | _accum_0[_len_0] = _item_0 | ||
3046 | _len_0 = _len_0 + 1 | ||
3047 | end | ||
3048 | return _accum_0 | ||
3049 | end)() | ||
3050 | end | ||
3051 | local start, last | ||
3052 | do | ||
3053 | local _obj_0 = orders | ||
3054 | start, last = (function() | ||
3055 | local _accum_0 = { } | ||
3056 | local _len_0 = 1 | ||
3057 | local _max_0 = #_obj_0 + -2 + 1 | ||
3058 | for _index_0 = 1, _max_0 do | ||
3059 | local _item_0 = _obj_0[_index_0] | ||
3060 | _accum_0[_len_0] = _item_0 | ||
3061 | _len_0 = _len_0 + 1 | ||
3062 | end | ||
3063 | return _accum_0 | ||
3064 | end)(), _obj_0[#_obj_0] | ||
3065 | end | ||
3066 | local _obj_0 = orders | ||
3067 | first, last = _obj_0[1], _obj_0[#_obj_0] | ||
2557 | local tuples = { | 3068 | local tuples = { |
2558 | { | 3069 | { |
2559 | "hello", | 3070 | "hello", |
@@ -2655,6 +3166,56 @@ end) | |||
2655 | if success then | 3166 | if success then |
2656 | print(result) | 3167 | print(result) |
2657 | end | 3168 | end |
3169 | local a, b, c | ||
3170 | do | ||
3171 | local _ok_0, _ret_0, _ret_1, _ret_2 = pcall(function() | ||
3172 | return func() | ||
3173 | end) | ||
3174 | if _ok_0 then | ||
3175 | a, b, c = _ret_0, _ret_1, _ret_2 | ||
3176 | end | ||
3177 | end | ||
3178 | do | ||
3179 | local _exp_0 = ((function() | ||
3180 | return (function(_arg_0, ...) | ||
3181 | local _ok_0 = _arg_0 | ||
3182 | if _ok_0 then | ||
3183 | return ... | ||
3184 | end | ||
3185 | end)(pcall(function() | ||
3186 | return func() | ||
3187 | end)) | ||
3188 | end)()) | ||
3189 | if _exp_0 ~= nil then | ||
3190 | a = _exp_0 | ||
3191 | else | ||
3192 | a = "default" | ||
3193 | end | ||
3194 | end | ||
3195 | f((function() | ||
3196 | return (function(_arg_0, ...) | ||
3197 | local _ok_0 = _arg_0 | ||
3198 | if _ok_0 then | ||
3199 | return ... | ||
3200 | end | ||
3201 | end)(pcall(function() | ||
3202 | return func() | ||
3203 | end)) | ||
3204 | end)()) | ||
3205 | f((function() | ||
3206 | return (function(_arg_0, ...) | ||
3207 | local _ok_0 = _arg_0 | ||
3208 | if _ok_0 then | ||
3209 | return ... | ||
3210 | end | ||
3211 | end)(xpcall(function() | ||
3212 | print(123) | ||
3213 | return func() | ||
3214 | end, function(e) | ||
3215 | print(e) | ||
3216 | return e | ||
3217 | end)) | ||
3218 | end)()) | ||
2658 | local a <const> = 123 | 3219 | local a <const> = 123 |
2659 | local _ <close> = setmetatable({ }, { | 3220 | local _ <close> = setmetatable({ }, { |
2660 | __close = function() | 3221 | __close = function() |
@@ -2664,10 +3225,19 @@ local _ <close> = setmetatable({ }, { | |||
2664 | local a, b, c, d | 3225 | local a, b, c, d |
2665 | local _obj_0 = tb | 3226 | local _obj_0 = tb |
2666 | a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2] | 3227 | a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2] |
3228 | Constant = 123 | ||
2667 | local some_string = "Here is a string\n that has a line break in it." | 3229 | local some_string = "Here is a string\n that has a line break in it." |
2668 | print("I am " .. tostring(math.random() * 100) .. "% sure.") | 3230 | print("I am " .. tostring(math.random() * 100) .. "% sure.") |
2669 | local integer = 1000000 | 3231 | local integer = 1000000 |
2670 | local hex = 0xEFBBBF | 3232 | local hex = 0xEFBBBF |
3233 | local binary = 19 | ||
3234 | local str = "key: value\nlist:\n - item1\n - " .. tostring(expr) | ||
3235 | local fn | ||
3236 | fn = function() | ||
3237 | local str = "foo:\n bar: baz" | ||
3238 | return str | ||
3239 | end | ||
3240 | local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'" | ||
2671 | local my_function | 3241 | local my_function |
2672 | my_function = function() end | 3242 | my_function = function() end |
2673 | my_function() | 3243 | my_function() |
@@ -2867,11 +3437,10 @@ for i, item in ipairs(items) do | |||
2867 | _len_0 = _len_0 + 1 | 3437 | _len_0 = _len_0 + 1 |
2868 | end | 3438 | end |
2869 | doubled = _accum_0 | 3439 | doubled = _accum_0 |
2870 | local iter = ipairs(items) | ||
2871 | local slice | 3440 | local slice |
2872 | local _accum_0 = { } | 3441 | local _accum_0 = { } |
2873 | local _len_0 = 1 | 3442 | local _len_0 = 1 |
2874 | for i, item in iter do | 3443 | for i, item in ipairs(items) do |
2875 | if i > 1 and i < 3 then | 3444 | if i > 1 and i < 3 then |
2876 | _accum_0[_len_0] = item | 3445 | _accum_0[_len_0] = item |
2877 | _len_0 = _len_0 + 1 | 3446 | _len_0 = _len_0 + 1 |
@@ -2978,8 +3547,7 @@ local slice | |||
2978 | local _accum_0 = { } | 3547 | local _accum_0 = { } |
2979 | local _len_0 = 1 | 3548 | local _len_0 = 1 |
2980 | local _list_0 = items | 3549 | local _list_0 = items |
2981 | local _max_0 = 5 | 3550 | for _index_0 = 1, 5 do |
2982 | for _index_0 = 1, _max_0 < 0 and #_list_0 + _max_0 or _max_0 do | ||
2983 | local item = _list_0[_index_0] | 3551 | local item = _list_0[_index_0] |
2984 | _accum_0[_len_0] = item | 3552 | _accum_0[_len_0] = item |
2985 | _len_0 = _len_0 + 1 | 3553 | _len_0 = _len_0 + 1 |
@@ -2989,7 +3557,8 @@ local slice | |||
2989 | local _accum_0 = { } | 3557 | local _accum_0 = { } |
2990 | local _len_0 = 1 | 3558 | local _len_0 = 1 |
2991 | local _list_0 = items | 3559 | local _list_0 = items |
2992 | for _index_0 = 2, #_list_0 do | 3560 | local _max_0 = #_list_0 |
3561 | for _index_0 = 2, _max_0 do | ||
2993 | local item = _list_0[_index_0] | 3562 | local item = _list_0[_index_0] |
2994 | _accum_0[_len_0] = item | 3563 | _accum_0[_len_0] = item |
2995 | _len_0 = _len_0 + 1 | 3564 | _len_0 = _len_0 + 1 |
@@ -2999,12 +3568,46 @@ local slice | |||
2999 | local _accum_0 = { } | 3568 | local _accum_0 = { } |
3000 | local _len_0 = 1 | 3569 | local _len_0 = 1 |
3001 | local _list_0 = items | 3570 | local _list_0 = items |
3002 | for _index_0 = 1, #_list_0, 2 do | 3571 | local _max_0 = #_list_0 |
3572 | for _index_0 = 1, _max_0, 2 do | ||
3003 | local item = _list_0[_index_0] | 3573 | local item = _list_0[_index_0] |
3004 | _accum_0[_len_0] = item | 3574 | _accum_0[_len_0] = item |
3005 | _len_0 = _len_0 + 1 | 3575 | _len_0 = _len_0 + 1 |
3006 | end | 3576 | end |
3007 | slice = _accum_0 | 3577 | slice = _accum_0 |
3578 | local slice | ||
3579 | local _accum_0 = { } | ||
3580 | local _len_0 = 1 | ||
3581 | local _list_0 = items | ||
3582 | local _min_0 = #_list_0 + -4 + 1 | ||
3583 | local _max_0 = #_list_0 + -1 + 1 | ||
3584 | for _index_0 = _min_0, _max_0 do | ||
3585 | local item = _list_0[_index_0] | ||
3586 | _accum_0[_len_0] = item | ||
3587 | _len_0 = _len_0 + 1 | ||
3588 | end | ||
3589 | slice = _accum_0 | ||
3590 | local reverse_slice | ||
3591 | local _accum_0 = { } | ||
3592 | local _len_0 = 1 | ||
3593 | local _list_0 = items | ||
3594 | local _min_0 = #_list_0 + -1 + 1 | ||
3595 | for _index_0 = _min_0, 1, -1 do | ||
3596 | local item = _list_0[_index_0] | ||
3597 | _accum_0[_len_0] = item | ||
3598 | _len_0 = _len_0 + 1 | ||
3599 | end | ||
3600 | reverse_slice = _accum_0 | ||
3601 | local sub_list | ||
3602 | local _accum_0 = { } | ||
3603 | local _len_0 = 1 | ||
3604 | local _list_0 = items | ||
3605 | for _index_0 = 2, 4 do | ||
3606 | local _item_0 = _list_0[_index_0] | ||
3607 | _accum_0[_len_0] = _item_0 | ||
3608 | _len_0 = _len_0 + 1 | ||
3609 | end | ||
3610 | sub_list = _accum_0 | ||
3008 | for i = 10, 20 do | 3611 | for i = 10, 20 do |
3009 | print(i) | 3612 | print(i) |
3010 | end | 3613 | end |
@@ -3015,8 +3618,7 @@ for key, value in pairs(object) do | |||
3015 | print(key, value) | 3618 | print(key, value) |
3016 | end | 3619 | end |
3017 | local _list_0 = items | 3620 | local _list_0 = items |
3018 | local _max_0 = 4 | 3621 | for _index_0 = 2, 4 do |
3019 | for _index_0 = 2, _max_0 < 0 and #_list_0 + _max_0 or _max_0 do | ||
3020 | local item = _list_0[_index_0] | 3622 | local item = _list_0[_index_0] |
3021 | print(item) | 3623 | print(item) |
3022 | end | 3624 | end |
@@ -3034,12 +3636,24 @@ local _len_0 = 1 | |||
3034 | for i = 1, 20 do | 3636 | for i = 1, 20 do |
3035 | if i % 2 == 0 then | 3637 | if i % 2 == 0 then |
3036 | _accum_0[_len_0] = i * 2 | 3638 | _accum_0[_len_0] = i * 2 |
3639 | _len_0 = _len_0 + 1 | ||
3037 | else | 3640 | else |
3038 | _accum_0[_len_0] = i | 3641 | _accum_0[_len_0] = i |
3642 | _len_0 = _len_0 + 1 | ||
3039 | end | 3643 | end |
3040 | _len_0 = _len_0 + 1 | ||
3041 | end | 3644 | end |
3042 | doubled_evens = _accum_0 | 3645 | doubled_evens = _accum_0 |
3646 | local first_large | ||
3647 | local _accum_0 | ||
3648 | local _list_0 = numbers | ||
3649 | for _index_0 = 1, #_list_0 do | ||
3650 | local n = _list_0[_index_0] | ||
3651 | if n > 10 then | ||
3652 | _accum_0 = n | ||
3653 | break | ||
3654 | end | ||
3655 | end | ||
3656 | first_large = _accum_0 | ||
3043 | local func_a | 3657 | local func_a |
3044 | func_a = function() | 3658 | func_a = function() |
3045 | for i = 1, 10 do | 3659 | for i = 1, 10 do |
@@ -3188,7 +3802,7 @@ if "Robert" == name then | |||
3188 | elseif "Dan" == name or "Daniel" == name then | 3802 | elseif "Dan" == name or "Daniel" == name then |
3189 | print("Your name, it's Dan") | 3803 | print("Your name, it's Dan") |
3190 | else | 3804 | else |
3191 | print("I don't know about your name") | 3805 | print("I don't know about you with name " .. tostring(name)) |
3192 | end | 3806 | end |
3193 | local b = 1 | 3807 | local b = 1 |
3194 | local next_number | 3808 | local next_number |
@@ -3288,6 +3902,192 @@ if _tab_0 then | |||
3288 | end | 3902 | end |
3289 | print("Vec2 " .. tostring(x) .. ", " .. tostring(y)) | 3903 | print("Vec2 " .. tostring(x) .. ", " .. tostring(y)) |
3290 | end | 3904 | end |
3905 | local _exp_0 = tb | ||
3906 | local _type_0 = type(_exp_0) | ||
3907 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
3908 | local _match_0 = false | ||
3909 | if _tab_0 then | ||
3910 | if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then | ||
3911 | _match_0 = true | ||
3912 | print("1, 2, 3") | ||
3913 | end | ||
3914 | end | ||
3915 | if not _match_0 then | ||
3916 | local _match_1 = false | ||
3917 | if _tab_0 then | ||
3918 | local b = _exp_0[2] | ||
3919 | if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then | ||
3920 | _match_1 = true | ||
3921 | print("1, " .. tostring(b) .. ", 3") | ||
3922 | end | ||
3923 | end | ||
3924 | if not _match_1 then | ||
3925 | if _tab_0 then | ||
3926 | local b = _exp_0[3] | ||
3927 | if b == nil then | ||
3928 | b = 3 | ||
3929 | end | ||
3930 | if 1 == _exp_0[1] and 2 == _exp_0[2] then | ||
3931 | print("1, 2, " .. tostring(b)) | ||
3932 | end | ||
3933 | end | ||
3934 | end | ||
3935 | end | ||
3936 | local _exp_0 = tb | ||
3937 | local _type_0 = type(_exp_0) | ||
3938 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
3939 | local _match_0 = false | ||
3940 | if _tab_0 then | ||
3941 | local result = _exp_0.result | ||
3942 | if true == _exp_0.success and result ~= nil then | ||
3943 | _match_0 = true | ||
3944 | print("success", result) | ||
3945 | end | ||
3946 | end | ||
3947 | if not _match_0 then | ||
3948 | local _match_1 = false | ||
3949 | if _tab_0 then | ||
3950 | if false == _exp_0.success then | ||
3951 | _match_1 = true | ||
3952 | print("failed", result) | ||
3953 | end | ||
3954 | end | ||
3955 | if not _match_1 then | ||
3956 | print("invalid") | ||
3957 | end | ||
3958 | end | ||
3959 | local _exp_0 = tb | ||
3960 | local _type_0 = type(_exp_0) | ||
3961 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
3962 | local _match_0 = false | ||
3963 | if _tab_0 then | ||
3964 | local content | ||
3965 | do | ||
3966 | local _obj_0 = _exp_0.data | ||
3967 | local _type_1 = type(_obj_0) | ||
3968 | if "table" == _type_1 or "userdata" == _type_1 then | ||
3969 | content = _obj_0.content | ||
3970 | end | ||
3971 | end | ||
3972 | local _val_0 | ||
3973 | do | ||
3974 | local _obj_0 = _exp_0.data | ||
3975 | if _obj_0 ~= nil then | ||
3976 | _val_0 = _obj_0.type | ||
3977 | end | ||
3978 | end | ||
3979 | if "success" == _val_0 and content ~= nil then | ||
3980 | _match_0 = true | ||
3981 | print("success", content) | ||
3982 | end | ||
3983 | end | ||
3984 | if not _match_0 then | ||
3985 | local _match_1 = false | ||
3986 | if _tab_0 then | ||
3987 | local content | ||
3988 | do | ||
3989 | local _obj_0 = _exp_0.data | ||
3990 | local _type_1 = type(_obj_0) | ||
3991 | if "table" == _type_1 or "userdata" == _type_1 then | ||
3992 | content = _obj_0.content | ||
3993 | end | ||
3994 | end | ||
3995 | local _val_0 | ||
3996 | do | ||
3997 | local _obj_0 = _exp_0.data | ||
3998 | if _obj_0 ~= nil then | ||
3999 | _val_0 = _obj_0.type | ||
4000 | end | ||
4001 | end | ||
4002 | if "error" == _val_0 and content ~= nil then | ||
4003 | _match_1 = true | ||
4004 | print("failed", content) | ||
4005 | end | ||
4006 | end | ||
4007 | if not _match_1 then | ||
4008 | print("invalid") | ||
4009 | end | ||
4010 | end | ||
4011 | local _exp_0 = tb | ||
4012 | local _type_0 = type(_exp_0) | ||
4013 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
4014 | if _tab_0 then | ||
4015 | local fourth = _exp_0[4] | ||
4016 | local _val_0 | ||
4017 | do | ||
4018 | local _obj_0 = _exp_0[1] | ||
4019 | if _obj_0 ~= nil then | ||
4020 | _val_0 = _obj_0.a | ||
4021 | end | ||
4022 | end | ||
4023 | local _val_1 | ||
4024 | do | ||
4025 | local _obj_0 = _exp_0[1] | ||
4026 | if _obj_0 ~= nil then | ||
4027 | _val_1 = _obj_0.b | ||
4028 | end | ||
4029 | end | ||
4030 | local _val_2 | ||
4031 | do | ||
4032 | local _obj_0 = _exp_0[2] | ||
4033 | if _obj_0 ~= nil then | ||
4034 | _val_2 = _obj_0.a | ||
4035 | end | ||
4036 | end | ||
4037 | local _val_3 | ||
4038 | do | ||
4039 | local _obj_0 = _exp_0[2] | ||
4040 | if _obj_0 ~= nil then | ||
4041 | _val_3 = _obj_0.b | ||
4042 | end | ||
4043 | end | ||
4044 | local _val_4 | ||
4045 | do | ||
4046 | local _obj_0 = _exp_0[3] | ||
4047 | if _obj_0 ~= nil then | ||
4048 | _val_4 = _obj_0.a | ||
4049 | end | ||
4050 | end | ||
4051 | local _val_5 | ||
4052 | do | ||
4053 | local _obj_0 = _exp_0[3] | ||
4054 | if _obj_0 ~= nil then | ||
4055 | _val_5 = _obj_0.b | ||
4056 | end | ||
4057 | end | ||
4058 | if 1 == _val_0 and 2 == _val_1 and 3 == _val_2 and 4 == _val_3 and 5 == _val_4 and 6 == _val_5 and fourth ~= nil then | ||
4059 | print("matched", fourth) | ||
4060 | end | ||
4061 | end | ||
4062 | local segments = { | ||
4063 | "admin", | ||
4064 | "users", | ||
4065 | "logs", | ||
4066 | "view" | ||
4067 | } | ||
4068 | local _type_0 = type(segments) | ||
4069 | local _tab_0 = "table" == _type_0 or "userdata" == _type_0 | ||
4070 | if _tab_0 then | ||
4071 | local groups | ||
4072 | do | ||
4073 | local _accum_0 = { } | ||
4074 | local _len_0 = 1 | ||
4075 | local _max_0 = #segments + -3 + 1 | ||
4076 | for _index_0 = 1, _max_0 do | ||
4077 | local _item_0 = segments[_index_0] | ||
4078 | _accum_0[_len_0] = _item_0 | ||
4079 | _len_0 = _len_0 + 1 | ||
4080 | end | ||
4081 | groups = _accum_0 | ||
4082 | end | ||
4083 | local resource = segments[#segments - 1] | ||
4084 | local action = segments[#segments] | ||
4085 | if resource ~= nil and action ~= nil then | ||
4086 | print("Group:", groups) | ||
4087 | print("Resource:", resource) | ||
4088 | print("Action:", action) | ||
4089 | end | ||
4090 | end | ||
3291 | local Inventory | 4091 | local Inventory |
3292 | local _class_0 | 4092 | local _class_0 |
3293 | local _base_0 = { | 4093 | local _base_0 = { |
@@ -3944,6 +4744,10 @@ do | |||
3944 | _with_1["key-name"] = value | 4744 | _with_1["key-name"] = value |
3945 | end | 4745 | end |
3946 | _with_0[#_with_0 + 1] = "abc" | 4746 | _with_0[#_with_0 + 1] = "abc" |
4747 | local _with_0 = obj | ||
4748 | if _with_0 ~= nil then | ||
4749 | print(obj.name) | ||
4750 | end | ||
3947 | do | 4751 | do |
3948 | local var = "hello" | 4752 | local var = "hello" |
3949 | print(var) | 4753 | print(var) |