aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/codes_from_doc_zh.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/outputs/codes_from_doc_zh.lua')
-rw-r--r--spec/outputs/codes_from_doc_zh.lua5326
1 files changed, 2663 insertions, 2663 deletions
diff --git a/spec/outputs/codes_from_doc_zh.lua b/spec/outputs/codes_from_doc_zh.lua
index 650d923..e0d364d 100644
--- a/spec/outputs/codes_from_doc_zh.lua
+++ b/spec/outputs/codes_from_doc_zh.lua
@@ -1,159 +1,73 @@
1local _module_0 = { }
2local p, to_lua
3do 1do
4 local _obj_0 = require("yue") 2 local var = "hello"
5 p, to_lua = _obj_0.p, _obj_0.to_lua 3 print(var)
6end 4end
7local inventory = { 5print(var)
8 equipment = { 6local counter
9 "sword", 7do
10 "shield" 8 local i = 0
11 }, 9 counter = function()
12 items = { 10 i = i + 1
13 { 11 return i
14 name = "potion",
15 count = 10
16 },
17 {
18 name = "bread",
19 count = 3
20 }
21 }
22}
23local map
24map = 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 12 end
32 return _accum_0
33end 13end
34local filter 14print(counter())
35filter = function(arr, cond) 15print(counter())
36 local _accum_0 = { } 16local tbl = {
37 local _len_0 = 1 17 key = (function()
38 for _index_0 = 1, #arr do 18 print("分配键值!")
39 local item = arr[_index_0] 19 return 1234
40 if cond(item) then 20 end)()
41 _accum_0[_len_0] = item 21}
42 _len_0 = _len_0 + 1 22do
43 end 23 local var = "hello"
44 end 24 print(var)
45 return _accum_0
46end 25end
47local reduce 26print(var)
48reduce = function(arr, init, action) 27local counter
49 for _index_0 = 1, #arr do 28do
50 local item = arr[_index_0] 29 local i = 0
51 init = action(init, item) 30 counter = function()
31 i = i + 1
32 return i
52 end 33 end
53 return init
54end 34end
55print(reduce(filter(map({ 35print(counter())
56 1, 36print(counter())
57 2, 37local tbl = {
58 3 38 key = (function()
59}, function(x) 39 print("分配键值!")
60 return x * 2 40 return 1234
61end), function(x) 41 end)()
62 return x > 4 42}
63end), 0, function(a, b) 43if name == "Rob" then
64 return a + b 44 print("你好,世界")
65end))
66local apple = setmetatable({
67 size = 15,
68}, {
69 __index = {
70 color = 0x00ffff
71 }
72})
73if (getmetatable(apple) ~= nil) then
74 p(apple.size, apple.color, getmetatable(apple).__index)
75end 45end
76local _u1f31b = "月之脚本" 46local _list_0 = items
77_module_0["🌛"] = _u1f31b 47for _index_0 = 1, #_list_0 do
78return _module_0 48 local item = _list_0[_index_0]
79local _module_0 = { } 49 print("项目: ", item)
80local p, to_lua
81do
82 local _obj_0 = require("yue")
83 p, to_lua = _obj_0.p, _obj_0.to_lua
84end 50end
85local inventory = { 51while game:isRunning() do
86 equipment = { 52 game:update()
87 "sword",
88 "shield"
89 },
90 items = {
91 {
92 name = "potion",
93 count = 10
94 },
95 {
96 name = "bread",
97 count = 3
98 }
99 }
100}
101local map
102map = function(arr, action)
103 local _accum_0 = { }
104 local _len_0 = 1
105 for _index_0 = 1, #arr do
106 local item = arr[_index_0]
107 _accum_0[_len_0] = action(item)
108 _len_0 = _len_0 + 1
109 end
110 return _accum_0
111end 53end
112local filter 54while not reader:eof() do
113filter = function(arr, cond) 55 reader:parse_line()
114 local _accum_0 = { }
115 local _len_0 = 1
116 for _index_0 = 1, #arr do
117 local item = arr[_index_0]
118 if cond(item) then
119 _accum_0[_len_0] = item
120 _len_0 = _len_0 + 1
121 end
122 end
123 return _accum_0
124end 56end
125local reduce 57if name == "Rob" then
126reduce = function(arr, init, action) 58 print("你好,世界")
127 for _index_0 = 1, #arr do
128 local item = arr[_index_0]
129 init = action(init, item)
130 end
131 return init
132end 59end
133print(reduce(filter(map({ 60local _list_0 = items
134 1, 61for _index_0 = 1, #_list_0 do
135 2, 62 local item = _list_0[_index_0]
136 3 63 print("项目: ", item)
137}, function(x) 64end
138 return x * 2 65while game:isRunning() do
139end), function(x) 66 game:update()
140 return x > 4 67end
141end), 0, function(a, b) 68while not reader:eof() do
142 return a + b 69 reader:parse_line()
143end))
144local apple = setmetatable({
145 size = 15,
146}, {
147 __index = {
148 color = 0x00ffff
149 }
150})
151if (getmetatable(apple) ~= nil) then
152 p(apple.size, apple.color, getmetatable(apple).__index)
153end 70end
154local _u1f31b = "月之脚本"
155_module_0["🌛"] = _u1f31b
156return _module_0
157local area = 6.2831853071796 * 5 71local area = 6.2831853071796 * 5
158print('你好 世界') 72print('你好 世界')
159do 73do
@@ -232,592 +146,6 @@ end
232do 146do
233 print(123, "hello") 147 print(123, "hello")
234end 148end
235if tb ~= nil then
236 tb:func()
237end
238if tb ~= nil then
239 tb:func()
240end
241print(1 < 2 and 2 <= 2 and 2 < 3 and 3 == 3 and 3 > 2 and 2 >= 1 and 1 == 1 and 1 < 3 and 3 ~= 5)
242local a = 5
243print(1 <= a and a <= 10)
244local v
245v = function(x)
246 print(x)
247 return x
248end
249print((function()
250 local _cond_0 = v(2)
251 if not (v(1) < _cond_0) then
252 return false
253 else
254 return _cond_0 <= v(3)
255 end
256end)())
257print((function()
258 local _cond_0 = v(2)
259 if not (v(1) > _cond_0) then
260 return false
261 else
262 return _cond_0 <= v(3)
263 end
264end)())
265local tab = { }
266tab[#tab + 1] = "Value"
267local tbA = {
268 1,
269 2,
270 3
271}
272local tbB = {
273 4,
274 5,
275 6
276}
277local _len_0 = #tbA + 1
278for _index_0 = 1, #tbB do
279 local _elm_0 = tbB[_index_0]
280 tbA[_len_0], _len_0 = _elm_0, _len_0 + 1
281end
282local parts = {
283 "shoulders",
284 "knees"
285}
286local lyrics
287do
288 local _tab_0 = {
289 "head"
290 }
291 local _idx_0 = 1
292 for _key_0, _value_0 in pairs(parts) do
293 if _idx_0 == _key_0 then
294 _tab_0[#_tab_0 + 1] = _value_0
295 _idx_0 = _idx_0 + 1
296 else
297 _tab_0[_key_0] = _value_0
298 end
299 end
300 _tab_0[#_tab_0 + 1] = "and"
301 _tab_0[#_tab_0 + 1] = "toes"
302 lyrics = _tab_0
303end
304local copy
305do
306 local _tab_0 = { }
307 local _idx_0 = 1
308 for _key_0, _value_0 in pairs(other) do
309 if _idx_0 == _key_0 then
310 _tab_0[#_tab_0 + 1] = _value_0
311 _idx_0 = _idx_0 + 1
312 else
313 _tab_0[_key_0] = _value_0
314 end
315 end
316 copy = _tab_0
317end
318local a = {
319 1,
320 2,
321 3,
322 x = 1
323}
324local b = {
325 4,
326 5,
327 y = 1
328}
329local merge
330local _tab_0 = { }
331local _idx_0 = 1
332for _key_0, _value_0 in pairs(a) do
333 if _idx_0 == _key_0 then
334 _tab_0[#_tab_0 + 1] = _value_0
335 _idx_0 = _idx_0 + 1
336 else
337 _tab_0[_key_0] = _value_0
338 end
339end
340local _idx_1 = 1
341for _key_0, _value_0 in pairs(b) do
342 if _idx_1 == _key_0 then
343 _tab_0[#_tab_0 + 1] = _value_0
344 _idx_1 = _idx_1 + 1
345 else
346 _tab_0[_key_0] = _value_0
347 end
348end
349merge = _tab_0
350local last
351do
352 local _item_0 = data.items
353 last = _item_0[#_item_0]
354end
355local second_last
356do
357 local _item_0 = data.items
358 second_last = _item_0[#_item_0 - 1]
359end
360local _obj_0 = data.items
361_obj_0[#_obj_0] = 1
362local mt = { }
363local add
364add = function(self, right)
365 return setmetatable({
366 value = self.value + right.value
367 }, mt)
368end
369mt.__add = add
370local a = setmetatable({
371 value = 1
372}, mt)
373local b = setmetatable({
374 value = 2
375}, {
376 __add = add
377})
378local c = setmetatable({
379 value = 3
380}, {
381 __add = mt.__add
382})
383local d = a + b + c
384print(d.value)
385local _ <close> = setmetatable({ }, {
386 __close = function()
387 return print("超出范围")
388 end
389})
390local tb = setmetatable({ }, {
391 ["value"] = 123
392})
393getmetatable(tb).__index = getmetatable(tb)
394print(tb.value)
395setmetatable(tb, {
396 __index = {
397 item = "hello"
398 }
399})
400print(tb.item)
401local item, new, close, getter
402do
403 local _obj_0 = tb
404 item, new = _obj_0[1], _obj_0.new
405 do
406 local _obj_1 = getmetatable(_obj_0)
407 close, getter = _obj_1.__close, _obj_1.__index
408 end
409end
410print(item, new, close, getter)
411do
412 local _obj_0 = func
413 if _obj_0 ~= nil then
414 _obj_0()
415 end
416end
417print((function()
418 local _obj_0 = abc
419 if _obj_0 ~= nil then
420 local _obj_1 = _obj_0["你好 世界"]
421 if _obj_1 ~= nil then
422 return _obj_1.xyz
423 end
424 return nil
425 end
426 return nil
427end)())
428local x
429do
430 local _obj_0 = tab
431 if _obj_0 ~= nil then
432 x = _obj_0.value
433 end
434end
435local len = (function()
436 local _obj_0 = utf8
437 if _obj_0 ~= nil then
438 return _obj_0.len
439 end
440 return nil
441end)() or (function()
442 local _obj_0 = string
443 if _obj_0 ~= nil then
444 return _obj_0.len
445 end
446 return nil
447end)() or function(o)
448 return #o
449end
450if print and (x ~= nil) then
451 print(x)
452end
453local _with_0 = io.open("test.txt", "w")
454if _with_0 ~= nil then
455 _with_0:write("你好")
456 _with_0:close()
457end
458print("你好")
459print(1, 2)
460print(1, 2, 3)
461print(render(emit(parse(extract(readFile("example.txt"), language, { }), language))))
462local a, b, c, d
463if b ~= nil then
464 a = b
465else
466 if c ~= nil then
467 a = c
468 else
469 a = d
470 end
471end
472func((function()
473 if a ~= nil then
474 return a
475 else
476 return { }
477 end
478end)())
479if a == nil then
480 a = false
481end
482local list = {
483 1,
484 2,
485 3
486}
487func({
488 1,
489 2,
490 3
491})
492local f
493f = function()
494 return {
495 1,
496 2,
497 3
498 }
499end
500local tb = {
501 name = "abc",
502 values = {
503 "a",
504 "b",
505 "c"
506 },
507 objects = {
508 {
509 name = "a",
510 value = 1,
511 func = function(self)
512 return self.value + 1
513 end,
514 tb = {
515 fieldA = 1
516 }
517 },
518 {
519 name = "b",
520 value = 2,
521 func = function(self)
522 return self.value + 2
523 end,
524 tb = { }
525 }
526 }
527}
528if tb ~= nil then
529 tb:func()
530end
531if tb ~= nil then
532 tb:func()
533end
534print(1 < 2 and 2 <= 2 and 2 < 3 and 3 == 3 and 3 > 2 and 2 >= 1 and 1 == 1 and 1 < 3 and 3 ~= 5)
535local a = 5
536print(1 <= a and a <= 10)
537local v
538v = function(x)
539 print(x)
540 return x
541end
542print((function()
543 local _cond_0 = v(2)
544 if not (v(1) < _cond_0) then
545 return false
546 else
547 return _cond_0 <= v(3)
548 end
549end)())
550print((function()
551 local _cond_0 = v(2)
552 if not (v(1) > _cond_0) then
553 return false
554 else
555 return _cond_0 <= v(3)
556 end
557end)())
558local tab = { }
559tab[#tab + 1] = "Value"
560local tbA = {
561 1,
562 2,
563 3
564}
565local tbB = {
566 4,
567 5,
568 6
569}
570local _len_0 = #tbA + 1
571for _index_0 = 1, #tbB do
572 local _elm_0 = tbB[_index_0]
573 tbA[_len_0], _len_0 = _elm_0, _len_0 + 1
574end
575local parts = {
576 "shoulders",
577 "knees"
578}
579local lyrics
580do
581 local _tab_0 = {
582 "head"
583 }
584 local _idx_0 = 1
585 for _key_0, _value_0 in pairs(parts) do
586 if _idx_0 == _key_0 then
587 _tab_0[#_tab_0 + 1] = _value_0
588 _idx_0 = _idx_0 + 1
589 else
590 _tab_0[_key_0] = _value_0
591 end
592 end
593 _tab_0[#_tab_0 + 1] = "and"
594 _tab_0[#_tab_0 + 1] = "toes"
595 lyrics = _tab_0
596end
597local copy
598do
599 local _tab_0 = { }
600 local _idx_0 = 1
601 for _key_0, _value_0 in pairs(other) do
602 if _idx_0 == _key_0 then
603 _tab_0[#_tab_0 + 1] = _value_0
604 _idx_0 = _idx_0 + 1
605 else
606 _tab_0[_key_0] = _value_0
607 end
608 end
609 copy = _tab_0
610end
611local a = {
612 1,
613 2,
614 3,
615 x = 1
616}
617local b = {
618 4,
619 5,
620 y = 1
621}
622local merge
623local _tab_0 = { }
624local _idx_0 = 1
625for _key_0, _value_0 in pairs(a) do
626 if _idx_0 == _key_0 then
627 _tab_0[#_tab_0 + 1] = _value_0
628 _idx_0 = _idx_0 + 1
629 else
630 _tab_0[_key_0] = _value_0
631 end
632end
633local _idx_1 = 1
634for _key_0, _value_0 in pairs(b) do
635 if _idx_1 == _key_0 then
636 _tab_0[#_tab_0 + 1] = _value_0
637 _idx_1 = _idx_1 + 1
638 else
639 _tab_0[_key_0] = _value_0
640 end
641end
642merge = _tab_0
643local last
644do
645 local _item_0 = data.items
646 last = _item_0[#_item_0]
647end
648local second_last
649do
650 local _item_0 = data.items
651 second_last = _item_0[#_item_0 - 1]
652end
653local _obj_0 = data.items
654_obj_0[#_obj_0] = 1
655local mt = { }
656local add
657add = function(self, right)
658 return setmetatable({
659 value = self.value + right.value
660 }, mt)
661end
662mt.__add = add
663local a = setmetatable({
664 value = 1
665}, mt)
666local b = setmetatable({
667 value = 2
668}, {
669 __add = add
670})
671local c = setmetatable({
672 value = 3
673}, {
674 __add = mt.__add
675})
676local d = a + b + c
677print(d.value)
678local _ <close> = setmetatable({ }, {
679 __close = function()
680 return print("超出范围")
681 end
682})
683local tb = setmetatable({ }, {
684 ["value"] = 123
685})
686getmetatable(tb).__index = getmetatable(tb)
687print(tb.value)
688setmetatable(tb, {
689 __index = {
690 item = "hello"
691 }
692})
693print(tb.item)
694local item, new, close, getter
695do
696 local _obj_0 = tb
697 item, new = _obj_0[1], _obj_0.new
698 do
699 local _obj_1 = getmetatable(_obj_0)
700 close, getter = _obj_1.__close, _obj_1.__index
701 end
702end
703print(item, new, close, getter)
704do
705 local _obj_0 = func
706 if _obj_0 ~= nil then
707 _obj_0()
708 end
709end
710print((function()
711 local _obj_0 = abc
712 if _obj_0 ~= nil then
713 local _obj_1 = _obj_0["你好 世界"]
714 if _obj_1 ~= nil then
715 return _obj_1.xyz
716 end
717 return nil
718 end
719 return nil
720end)())
721local x
722do
723 local _obj_0 = tab
724 if _obj_0 ~= nil then
725 x = _obj_0.value
726 end
727end
728local len = (function()
729 local _obj_0 = utf8
730 if _obj_0 ~= nil then
731 return _obj_0.len
732 end
733 return nil
734end)() or (function()
735 local _obj_0 = string
736 if _obj_0 ~= nil then
737 return _obj_0.len
738 end
739 return nil
740end)() or function(o)
741 return #o
742end
743if print and (x ~= nil) then
744 print(x)
745end
746local _with_0 = io.open("test.txt", "w")
747if _with_0 ~= nil then
748 _with_0:write("你好")
749 _with_0:close()
750end
751print("你好")
752print(1, 2)
753print(1, 2, 3)
754print(render(emit(parse(extract(readFile("example.txt"), language, { }), language))))
755local a, b, c, d
756if b ~= nil then
757 a = b
758else
759 if c ~= nil then
760 a = c
761 else
762 a = d
763 end
764end
765func((function()
766 if a ~= nil then
767 return a
768 else
769 return { }
770 end
771end)())
772if a == nil then
773 a = false
774end
775local list = {
776 1,
777 2,
778 3
779}
780func({
781 1,
782 2,
783 3
784})
785local f
786f = function()
787 return {
788 1,
789 2,
790 3
791 }
792end
793local tb = {
794 name = "abc",
795 values = {
796 "a",
797 "b",
798 "c"
799 },
800 objects = {
801 {
802 name = "a",
803 value = 1,
804 func = function(self)
805 return self.value + 1
806 end,
807 tb = {
808 fieldA = 1
809 }
810 },
811 {
812 name = "b",
813 value = 2,
814 func = function(self)
815 return self.value + 2
816 end,
817 tb = { }
818 }
819 }
820}
821do 149do
822 local insert, concat = table.insert, table.concat 150 local insert, concat = table.insert, table.concat
823 local C, Ct, Cmt 151 local C, Ct, Cmt
@@ -1080,460 +408,6 @@ _module_0 = function()
1080 return 123 408 return 123
1081end 409end
1082return _module_0 410return _module_0
1083local hello = "world"
1084local a, b, c = 1, 2, 3
1085hello = 123
1086local x = 1
1087x = x + 1
1088x = x - 1
1089x = x * 10
1090x = x / 10
1091x = x % 10
1092local s = s .. "world"
1093local arg = arg or "默认值"
1094local a = 0
1095local b = 0
1096local c = 0
1097local d = 0
1098local e = 0
1099local x = f()
1100local y = x
1101local z = x
1102do
1103 local a = 1
1104 local x, y, z
1105 print("预先声明后续所有变量为局部变量")
1106 x = function()
1107 return 1 + y + z
1108 end
1109 y, z = 2, 3
1110 instance = Item:new()
1111end
1112do
1113 local X = 1
1114 local B
1115 print("只预先声明后续大写的变量为局部变量")
1116 local a = 1
1117 B = 2
1118end
1119do
1120 a = 1
1121 print("预先声明所有变量为全局变量")
1122 x = function()
1123 return 1 + y + z
1124 end
1125 y, z = 2, 3
1126end
1127do
1128 x = 1
1129 print("只预先声明大写的变量为全局变量")
1130 local a = 1
1131 B = 2
1132 local Temp = "一个局部值"
1133end
1134local hello = "world"
1135local a, b, c = 1, 2, 3
1136hello = 123
1137local x = 1
1138x = x + 1
1139x = x - 1
1140x = x * 10
1141x = x / 10
1142x = x % 10
1143local s = s .. "world"
1144local arg = arg or "默认值"
1145local a = 0
1146local b = 0
1147local c = 0
1148local d = 0
1149local e = 0
1150local x = f()
1151local y = x
1152local z = x
1153do
1154 local a = 1
1155 local x, y, z
1156 print("预先声明后续所有变量为局部变量")
1157 x = function()
1158 return 1 + y + z
1159 end
1160 y, z = 2, 3
1161 instance = Item:new()
1162end
1163do
1164 local X = 1
1165 local B
1166 print("只预先声明后续大写的变量为局部变量")
1167 local a = 1
1168 B = 2
1169end
1170do
1171 a = 1
1172 print("预先声明所有变量为全局变量")
1173 x = function()
1174 return 1 + y + z
1175 end
1176 y, z = 2, 3
1177end
1178do
1179 x = 1
1180 print("只预先声明大写的变量为全局变量")
1181 local a = 1
1182 B = 2
1183 local Temp = "一个局部值"
1184end
1185local thing = {
1186 1,
1187 2
1188}
1189local a, b = thing[1], thing[2]
1190print(a, b)
1191local obj = {
1192 hello = "world",
1193 day = "tuesday",
1194 length = 20
1195}
1196local hello, the_day = obj.hello, obj.day
1197print(hello, the_day)
1198local day = obj.day
1199local obj2 = {
1200 numbers = {
1201 1,
1202 2,
1203 3,
1204 4
1205 },
1206 properties = {
1207 color = "green",
1208 height = 13.5
1209 }
1210}
1211local first, second, color = obj2.numbers[1], obj2.numbers[2], obj2.properties.color
1212print(first, second, color)
1213local first, second, color
1214local _obj_0 = obj2
1215first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
1216local concat, insert
1217local _obj_0 = table
1218concat, insert = _obj_0.concat, _obj_0.insert
1219local mix, max, rand
1220local _obj_0 = math
1221mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
1222local name, job
1223local _obj_0 = person
1224name, job = _obj_0.name, _obj_0.job
1225if name == nil then
1226 name = "nameless"
1227end
1228if job == nil then
1229 job = "jobless"
1230end
1231local two, four
1232local _obj_0 = items
1233two, four = _obj_0[2], _obj_0[4]
1234local orders = {
1235 "first",
1236 "second",
1237 "third",
1238 "fourth",
1239 "last"
1240}
1241local first, bulk, last = orders[1], (function()
1242 local _accum_0 = { }
1243 local _len_0 = 1
1244 local _max_0 = #orders + -2 + 1
1245 for _index_0 = 2, _max_0 do
1246 local _item_0 = orders[_index_0]
1247 _accum_0[_len_0] = _item_0
1248 _len_0 = _len_0 + 1
1249 end
1250 return _accum_0
1251end)(), orders[#orders]
1252print(first)
1253print(bulk)
1254print(last)
1255local first, rest
1256do
1257 local _obj_0 = orders
1258 first, rest = _obj_0[1], (function()
1259 local _accum_0 = { }
1260 local _len_0 = 1
1261 local _max_0 = #_obj_0
1262 for _index_0 = 2, _max_0 do
1263 local _item_0 = _obj_0[_index_0]
1264 _accum_0[_len_0] = _item_0
1265 _len_0 = _len_0 + 1
1266 end
1267 return _accum_0
1268 end)()
1269end
1270local start, last
1271do
1272 local _obj_0 = orders
1273 start, last = (function()
1274 local _accum_0 = { }
1275 local _len_0 = 1
1276 local _max_0 = #_obj_0 + -2 + 1
1277 for _index_0 = 1, _max_0 do
1278 local _item_0 = _obj_0[_index_0]
1279 _accum_0[_len_0] = _item_0
1280 _len_0 = _len_0 + 1
1281 end
1282 return _accum_0
1283 end)(), _obj_0[#_obj_0]
1284end
1285local _obj_0 = orders
1286first, last = _obj_0[1], _obj_0[#_obj_0]
1287local tuples = {
1288 {
1289 "hello",
1290 "world"
1291 },
1292 {
1293 "egg",
1294 "head"
1295 }
1296}
1297for _index_0 = 1, #tuples do
1298 local _des_0 = tuples[_index_0]
1299 local left, right = _des_0[1], _des_0[2]
1300 print(left, right)
1301end
1302local thing = {
1303 1,
1304 2
1305}
1306local a, b = thing[1], thing[2]
1307print(a, b)
1308local obj = {
1309 hello = "world",
1310 day = "tuesday",
1311 length = 20
1312}
1313local hello, the_day = obj.hello, obj.day
1314print(hello, the_day)
1315local day = obj.day
1316local obj2 = {
1317 numbers = {
1318 1,
1319 2,
1320 3,
1321 4
1322 },
1323 properties = {
1324 color = "green",
1325 height = 13.5
1326 }
1327}
1328local first, second, color = obj2.numbers[1], obj2.numbers[2], obj2.properties.color
1329print(first, second, color)
1330local first, second, color
1331local _obj_0 = obj2
1332first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
1333local concat, insert
1334local _obj_0 = table
1335concat, insert = _obj_0.concat, _obj_0.insert
1336local mix, max, rand
1337local _obj_0 = math
1338mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
1339local name, job
1340local _obj_0 = person
1341name, job = _obj_0.name, _obj_0.job
1342if name == nil then
1343 name = "nameless"
1344end
1345if job == nil then
1346 job = "jobless"
1347end
1348local two, four
1349local _obj_0 = items
1350two, four = _obj_0[2], _obj_0[4]
1351local orders = {
1352 "first",
1353 "second",
1354 "third",
1355 "fourth",
1356 "last"
1357}
1358local first, bulk, last = orders[1], (function()
1359 local _accum_0 = { }
1360 local _len_0 = 1
1361 local _max_0 = #orders + -2 + 1
1362 for _index_0 = 2, _max_0 do
1363 local _item_0 = orders[_index_0]
1364 _accum_0[_len_0] = _item_0
1365 _len_0 = _len_0 + 1
1366 end
1367 return _accum_0
1368end)(), orders[#orders]
1369print(first)
1370print(bulk)
1371print(last)
1372local first, rest
1373do
1374 local _obj_0 = orders
1375 first, rest = _obj_0[1], (function()
1376 local _accum_0 = { }
1377 local _len_0 = 1
1378 local _max_0 = #_obj_0
1379 for _index_0 = 2, _max_0 do
1380 local _item_0 = _obj_0[_index_0]
1381 _accum_0[_len_0] = _item_0
1382 _len_0 = _len_0 + 1
1383 end
1384 return _accum_0
1385 end)()
1386end
1387local start, last
1388do
1389 local _obj_0 = orders
1390 start, last = (function()
1391 local _accum_0 = { }
1392 local _len_0 = 1
1393 local _max_0 = #_obj_0 + -2 + 1
1394 for _index_0 = 1, _max_0 do
1395 local _item_0 = _obj_0[_index_0]
1396 _accum_0[_len_0] = _item_0
1397 _len_0 = _len_0 + 1
1398 end
1399 return _accum_0
1400 end)(), _obj_0[#_obj_0]
1401end
1402local _obj_0 = orders
1403first, last = _obj_0[1], _obj_0[#_obj_0]
1404local tuples = {
1405 {
1406 "hello",
1407 "world"
1408 },
1409 {
1410 "egg",
1411 "head"
1412 }
1413}
1414for _index_0 = 1, #tuples do
1415 local _des_0 = tuples[_index_0]
1416 local left, right = _des_0[1], _des_0[2]
1417 print(left, right)
1418end
1419local user = database.find_user("moon")
1420if user then
1421 print(user.name)
1422end
1423local hello = os.getenv("hello")
1424if hello then
1425 print("你有 hello", hello)
1426else
1427 local world = os.getenv("world")
1428 if world then
1429 print("你有 world", world)
1430 else
1431 print("什么都没有 :(")
1432 end
1433end
1434do
1435 local success, result = pcall(function()
1436 return "无报错地获取结果"
1437 end)
1438 if success then
1439 print(result)
1440 end
1441end
1442print("好的")
1443repeat
1444 local byte = stream:read_one()
1445 if byte then
1446 print(byte)
1447 else
1448 break
1449 end
1450until false
1451local user = database.find_user("moon")
1452if user then
1453 print(user.name)
1454end
1455local hello = os.getenv("hello")
1456if hello then
1457 print("你有 hello", hello)
1458else
1459 local world = os.getenv("world")
1460 if world then
1461 print("你有 world", world)
1462 else
1463 print("什么都没有 :(")
1464 end
1465end
1466do
1467 local success, result = pcall(function()
1468 return "无报错地获取结果"
1469 end)
1470 if success then
1471 print(result)
1472 end
1473end
1474print("好的")
1475repeat
1476 local byte = stream:read_one()
1477 if byte then
1478 print(byte)
1479 else
1480 break
1481 end
1482until false
1483local list = {
1484 1,
1485 2,
1486 3,
1487 4,
1488 5
1489}
1490local fn
1491fn = function(ok)
1492 return ok, table.unpack(list)
1493end
1494(function(_arg_0, ...)
1495 local ok = _arg_0
1496 local count = select('#', ...)
1497 local first = select(1, ...)
1498 return print(ok, count, first)
1499end)(fn(true))
1500local list = {
1501 1,
1502 2,
1503 3,
1504 4,
1505 5
1506}
1507local fn
1508fn = function(ok)
1509 return ok, table.unpack(list)
1510end
1511(function(_arg_0, ...)
1512 local ok = _arg_0
1513 local count = select('#', ...)
1514 local first = select(1, ...)
1515 return print(ok, count, first)
1516end)(fn(true))
1517local a = 1
1518local b = 2
1519print(a + b)
1520Rx.Observable.fromRange(1, 8):filter(function(x)
1521 return x % 2 == 0
1522end):concat(Rx.Observable.of('who do we appreciate')):map(function(value)
1523 return value .. '!'
1524end):subscribe(print)
1525local a = 1
1526local b = 2
1527print(a + b)
1528Rx.Observable.fromRange(1, 8):filter(function(x)
1529 return x % 2 == 0
1530end):concat(Rx.Observable.of('who do we appreciate')):map(function(value)
1531 return value .. '!'
1532end):subscribe(print)
1533local str = strA .. strB .. strC
1534func(3000, "192.168.1.1")
1535local str = strA .. strB .. strC
1536func(3000, "192.168.1.1")
1537xpcall(function() 411xpcall(function()
1538 return func(1, 2, 3) 412 return func(1, 2, 3)
1539end, function(err) 413end, function(err)
@@ -1694,464 +568,6 @@ f((function()
1694 return e 568 return e
1695 end)) 569 end))
1696end)()) 570end)())
1697local a <const> = 123
1698local _ <close> = setmetatable({ }, {
1699 __close = function()
1700 return print("超出范围。")
1701 end
1702})
1703local a, b, c, d
1704local _obj_0 = tb
1705a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
1706Constant = 123
1707local a <const> = 123
1708local _ <close> = setmetatable({ }, {
1709 __close = function()
1710 return print("超出范围。")
1711 end
1712})
1713local a, b, c, d
1714local _obj_0 = tb
1715a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
1716Constant = 123
1717local some_string = "这是一个字符串\n 并包括一个换行。"
1718print("我有" .. tostring(math.random() * 100) .. "%的把握。")
1719local integer = 1000000
1720local hex = 0xEFBBBF
1721local binary = 19
1722local str = "key: value\nlist:\n - item1\n - " .. tostring(expr)
1723local fn
1724fn = function()
1725 local str = "foo:\n bar: baz"
1726 return str
1727end
1728local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'"
1729local some_string = "这是一个字符串\n 并包括一个换行。"
1730print("我有" .. tostring(math.random() * 100) .. "%的把握。")
1731local integer = 1000000
1732local hex = 0xEFBBBF
1733local binary = 19
1734local str = "key: value\nlist:\n - item1\n - " .. tostring(expr)
1735local fn
1736fn = function()
1737 local str = "foo:\n bar: baz"
1738 return str
1739end
1740local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'"
1741local my_function
1742my_function = function() end
1743my_function()
1744local func_a
1745func_a = function()
1746 return print("你好,世界")
1747end
1748local func_b
1749func_b = function()
1750 local value = 100
1751 return print("这个值是:", value)
1752end
1753func_a()
1754func_b()
1755local sum
1756sum = function(x, y)
1757 return print("数字的和", x + y)
1758end
1759sum(10, 20)
1760print(sum(10, 20))
1761a(b(c("a", "b", "c")))
1762print("x:", sum(10, 20), "y:", sum(30, 40))
1763local sum
1764sum = function(x, y)
1765 return x + y
1766end
1767print("数字的和是", sum(10, 20))
1768local sum
1769sum = function(x, y)
1770 return x + y
1771end
1772local mystery
1773mystery = function(x, y)
1774 return x + y, x - y
1775end
1776local a, b = mystery(10, 20)
1777local func
1778func = function(self, num)
1779 return self.value + num
1780end
1781local my_function
1782my_function = function(name, height)
1783 if name == nil then
1784 name = "某物"
1785 end
1786 if height == nil then
1787 height = 100
1788 end
1789 print("你好,我是", name)
1790 return print("我的高度是", height)
1791end
1792local some_args
1793some_args = function(x, y)
1794 if x == nil then
1795 x = 100
1796 end
1797 if y == nil then
1798 y = x + 1000
1799 end
1800 return print(x + y)
1801end
1802local a = x - 10
1803local b = x - 10
1804local c = x(-y)
1805local d = x - z
1806local x = func("hello") + 100
1807local y = func("hello" + 100)
1808my_func(5, 4, 3, 8, 9, 10)
1809cool_func(1, 2, 3, 4, 5, 6, 7, 8)
1810my_func(5, 6, 7, 6, another_func(6, 7, 8, 9, 1, 2), 5, 4)
1811local x = {
1812 1,
1813 2,
1814 3,
1815 4,
1816 a_func(4, 5, 5, 6),
1817 8,
1818 9,
1819 10
1820}
1821local y = {
1822 my_func(1, 2, 3, 4, 5),
1823 5,
1824 6,
1825 7
1826}
1827if func(1, 2, 3, "你好", "世界") then
1828 print("你好")
1829 print("我在if内部")
1830end
1831if func(1, 2, 3, "你好", "世界") then
1832 print("hello")
1833 print("我在if内部")
1834end
1835local f1
1836f1 = function(_arg_0)
1837 local a, b, c
1838 a, b, c = _arg_0.a, _arg_0.b, _arg_0.c
1839 return print(a, b, c)
1840end
1841f1({
1842 a = 1,
1843 b = "2",
1844 c = { }
1845})
1846local f2
1847f2 = function(_arg_0, c)
1848 local a1, b
1849 a1, b = _arg_0.a, _arg_0.b
1850 if a1 == nil then
1851 a1 = 123
1852 end
1853 if b == nil then
1854 b = 'abc'
1855 end
1856 if c == nil then
1857 c = { }
1858 end
1859 return print(a1, b, c)
1860end
1861local arg1 = {
1862 a = 0
1863}
1864f2(arg1, arg2)
1865local findFirstEven
1866findFirstEven = function(list)
1867 for _index_0 = 1, #list do
1868 local item = list[_index_0]
1869 if type(item) == "table" then
1870 for _index_1 = 1, #item do
1871 local sub = item[_index_1]
1872 if sub % 2 == 0 then
1873 return sub
1874 end
1875 end
1876 end
1877 end
1878 return nil
1879end
1880local findFirstEven
1881findFirstEven = function(list)
1882 for _index_0 = 1, #list do
1883 local item = list[_index_0]
1884 if type(item) == "table" then
1885 for _index_1 = 1, #item do
1886 local sub = item[_index_1]
1887 if sub % 2 == 0 then
1888 return sub
1889 end
1890 end
1891 end
1892 end
1893 return nil
1894end
1895local f
1896f = function(...)
1897 local t = {
1898 n = select("#", ...),
1899 ...
1900 }
1901 print("参数个数:", t.n)
1902 print("表长度:", #t)
1903 for i = 1, t.n do
1904 print(t[i])
1905 end
1906end
1907f(1, 2, 3)
1908f("a", "b", "c", "d")
1909f()
1910local process
1911process = function(...)
1912 local args = {
1913 n = select("#", ...),
1914 ...
1915 }
1916 local sum = 0
1917 for i = 1, args.n do
1918 if args[i] ~= nil and type(args[i]) == "number" then
1919 sum = sum + args[i]
1920 end
1921 end
1922 return sum
1923end
1924process(1, nil, 3, nil, 5)
1925local my_function
1926my_function = function() end
1927my_function()
1928local func_a
1929func_a = function()
1930 return print("你好,世界")
1931end
1932local func_b
1933func_b = function()
1934 local value = 100
1935 return print("这个值是:", value)
1936end
1937func_a()
1938func_b()
1939local sum
1940sum = function(x, y)
1941 return print("数字的和", x + y)
1942end
1943sum(10, 20)
1944print(sum(10, 20))
1945a(b(c("a", "b", "c")))
1946print("x:", sum(10, 20), "y:", sum(30, 40))
1947local sum
1948sum = function(x, y)
1949 return x + y
1950end
1951print("数字的和是", sum(10, 20))
1952local sum
1953sum = function(x, y)
1954 return x + y
1955end
1956local mystery
1957mystery = function(x, y)
1958 return x + y, x - y
1959end
1960local a, b = mystery(10, 20)
1961local func
1962func = function(self, num)
1963 return self.value + num
1964end
1965local my_function
1966my_function = function(name, height)
1967 if name == nil then
1968 name = "某物"
1969 end
1970 if height == nil then
1971 height = 100
1972 end
1973 print("你好,我是", name)
1974 return print("我的高度是", height)
1975end
1976local some_args
1977some_args = function(x, y)
1978 if x == nil then
1979 x = 100
1980 end
1981 if y == nil then
1982 y = x + 1000
1983 end
1984 return print(x + y)
1985end
1986local a = x - 10
1987local b = x - 10
1988local c = x(-y)
1989local d = x - z
1990local x = func("hello") + 100
1991local y = func("hello" + 100)
1992my_func(5, 4, 3, 8, 9, 10)
1993cool_func(1, 2, 3, 4, 5, 6, 7, 8)
1994my_func(5, 6, 7, 6, another_func(6, 7, 8, 9, 1, 2), 5, 4)
1995local x = {
1996 1,
1997 2,
1998 3,
1999 4,
2000 a_func(4, 5, 5, 6),
2001 8,
2002 9,
2003 10
2004}
2005local y = {
2006 my_func(1, 2, 3, 4, 5),
2007 5,
2008 6,
2009 7
2010}
2011if func(1, 2, 3, "你好", "世界") then
2012 print("你好")
2013 print("我在if内部")
2014end
2015if func(1, 2, 3, "你好", "世界") then
2016 print("你好")
2017 print("我在if内部")
2018end
2019local f1
2020f1 = function(_arg_0)
2021 local a, b, c
2022 a, b, c = _arg_0.a, _arg_0.b, _arg_0.c
2023 return print(a, b, c)
2024end
2025f1({
2026 a = 1,
2027 b = "2",
2028 c = { }
2029})
2030local f2
2031f2 = function(_arg_0, c)
2032 local a1, b
2033 a1, b = _arg_0.a, _arg_0.b
2034 if a1 == nil then
2035 a1 = 123
2036 end
2037 if b == nil then
2038 b = 'abc'
2039 end
2040 if c == nil then
2041 c = { }
2042 end
2043 return print(a1, b, c)
2044end
2045local arg1 = {
2046 a = 0
2047}
2048f2(arg1, arg2)
2049local findFirstEven
2050findFirstEven = function(list)
2051 for _index_0 = 1, #list do
2052 local item = list[_index_0]
2053 if type(item) == "table" then
2054 for _index_1 = 1, #item do
2055 local sub = item[_index_1]
2056 if sub % 2 == 0 then
2057 return sub
2058 end
2059 end
2060 end
2061 end
2062 return nil
2063end
2064local findFirstEven
2065findFirstEven = function(list)
2066 for _index_0 = 1, #list do
2067 local item = list[_index_0]
2068 if type(item) == "table" then
2069 for _index_1 = 1, #item do
2070 local sub = item[_index_1]
2071 if sub % 2 == 0 then
2072 return sub
2073 end
2074 end
2075 end
2076 end
2077 return nil
2078end
2079local f
2080f = function(...)
2081 local t = {
2082 n = select("#", ...),
2083 ...
2084 }
2085 print("参数个数:", t.n)
2086 print("表长度:", #t)
2087 for i = 1, t.n do
2088 print(t[i])
2089 end
2090end
2091f(1, 2, 3)
2092f("a", "b", "c", "d")
2093f()
2094local process
2095process = function(...)
2096 local args = {
2097 n = select("#", ...),
2098 ...
2099 }
2100 local sum = 0
2101 for i = 1, args.n do
2102 if args[i] ~= nil and type(args[i]) == "number" then
2103 sum = sum + args[i]
2104 end
2105 end
2106 return sum
2107end
2108process(1, nil, 3, nil, 5)
2109f(function(x)
2110 return print("hello" .. x)
2111end)
2112f(function(self)
2113 return print(self.value)
2114end)
2115map(function(x)
2116 return x * 2
2117end, {
2118 1,
2119 2,
2120 3
2121})
2122local result, msg
2123do
2124 result, msg = readAsync("文件名.txt", function(data)
2125 print(data)
2126 return processAsync(data, function(info)
2127 return check(info)
2128 end)
2129 end)
2130end
2131print(result, msg)
2132f(function(x)
2133 return print("hello" .. x)
2134end)
2135f(function(self)
2136 return print(self.value)
2137end)
2138map(function(x)
2139 return x * 2
2140end, {
2141 1,
2142 2,
2143 3
2144})
2145local result, msg
2146do
2147 result, msg = readAsync("文件名.txt", function(data)
2148 print(data)
2149 return processAsync(data, function(info)
2150 return check(info)
2151 end)
2152 end)
2153end
2154print(result, msg)
2155local some_values = { 571local some_values = {
2156 1, 572 1,
2157 2, 573 2,
@@ -2730,966 +1146,6 @@ for _index_0 = _min_0, _max_0 do
2730 _len_0 = _len_0 + 1 1146 _len_0 = _len_0 + 1
2731end 1147end
2732last_four_items = _accum_0 1148last_four_items = _accum_0
2733for i = 10, 20 do
2734 print(i)
2735end
2736for k = 1, 15, 2 do
2737 print(k)
2738end
2739for key, value in pairs(object) do
2740 print(key, value)
2741end
2742local _list_0 = items
2743for _index_0 = 2, 4 do
2744 local item = _list_0[_index_0]
2745 print(item)
2746end
2747local _list_0 = items
2748for _index_0 = 1, #_list_0 do
2749 local item = _list_0[_index_0]
2750 print(item)
2751end
2752for j = 1, 10, 3 do
2753 print(j)
2754end
2755local doubled_evens
2756local _accum_0 = { }
2757local _len_0 = 1
2758for i = 1, 20 do
2759 if i % 2 == 0 then
2760 _accum_0[_len_0] = i * 2
2761 _len_0 = _len_0 + 1
2762 else
2763 _accum_0[_len_0] = i
2764 _len_0 = _len_0 + 1
2765 end
2766end
2767doubled_evens = _accum_0
2768local first_large
2769local _accum_0
2770local _list_0 = numbers
2771for _index_0 = 1, #_list_0 do
2772 local n = _list_0[_index_0]
2773 if n > 10 then
2774 _accum_0 = n
2775 break
2776 end
2777end
2778first_large = _accum_0
2779local func_a
2780func_a = function()
2781 for i = 1, 10 do
2782 print(i)
2783 end
2784end
2785local func_b
2786func_b = function()
2787 local _accum_0 = { }
2788 local _len_0 = 1
2789 for i = 1, 10 do
2790 _accum_0[_len_0] = i
2791 _len_0 = _len_0 + 1
2792 end
2793 return _accum_0
2794end
2795print(func_a())
2796print(func_b())
2797for i = 10, 20 do
2798 print(i)
2799end
2800for k = 1, 15, 2 do
2801 print(k)
2802end
2803for key, value in pairs(object) do
2804 print(key, value)
2805end
2806local _list_0 = items
2807for _index_0 = 2, 4 do
2808 local item = _list_0[_index_0]
2809 print(item)
2810end
2811local _list_0 = items
2812for _index_0 = 1, #_list_0 do
2813 local item = _list_0[_index_0]
2814 print(item)
2815end
2816for j = 1, 10, 3 do
2817 print(j)
2818end
2819local doubled_evens
2820local _accum_0 = { }
2821local _len_0 = 1
2822for i = 1, 20 do
2823 if i % 2 == 0 then
2824 _accum_0[_len_0] = i * 2
2825 _len_0 = _len_0 + 1
2826 else
2827 _accum_0[_len_0] = i
2828 _len_0 = _len_0 + 1
2829 end
2830end
2831doubled_evens = _accum_0
2832local first_large
2833local _accum_0
2834local _list_0 = numbers
2835for _index_0 = 1, #_list_0 do
2836 local n = _list_0[_index_0]
2837 if n > 10 then
2838 _accum_0 = n
2839 break
2840 end
2841end
2842first_large = _accum_0
2843local func_a
2844func_a = function()
2845 for i = 1, 10 do
2846 print(i)
2847 end
2848end
2849local func_b
2850func_b = function()
2851 local _accum_0 = { }
2852 local _len_0 = 1
2853 for i = 1, 10 do
2854 _accum_0[_len_0] = i
2855 _len_0 = _len_0 + 1
2856 end
2857 return _accum_0
2858end
2859print(func_a())
2860print(func_b())
2861local i = 10
2862while i > 0 do
2863 print(i)
2864 i = i - 1
2865end
2866while running == true do
2867 my_function()
2868end
2869local i = 10
2870while not (i == 0) do
2871 print(i)
2872 i = i - 1
2873end
2874while not (running == false) do
2875 my_function()
2876end
2877local i = 10
2878repeat
2879 print(i)
2880 i = i - 1
2881until i == 0
2882local i = 10
2883while i > 0 do
2884 print(i)
2885 i = i - 1
2886end
2887while running == true do
2888 my_function()
2889end
2890local i = 10
2891while not (i == 0) do
2892 print(i)
2893 i = i - 1
2894end
2895while not (running == false) do
2896 my_function()
2897end
2898local i = 10
2899repeat
2900 print(i)
2901 i = i - 1
2902until i == 0
2903local i = 0
2904while i < 10 do
2905 i = i + 1
2906 if i % 2 == 0 then
2907 goto _continue_0
2908 end
2909 print(i)
2910 ::_continue_0::
2911end
2912local my_numbers = {
2913 1,
2914 2,
2915 3,
2916 4,
2917 5,
2918 6
2919}
2920local odds
2921local _accum_0 = { }
2922local _len_0 = 1
2923for _index_0 = 1, #my_numbers do
2924 local x = my_numbers[_index_0]
2925 if x % 2 == 1 then
2926 goto _continue_0
2927 end
2928 _accum_0[_len_0] = x
2929 _len_0 = _len_0 + 1
2930 ::_continue_0::
2931end
2932odds = _accum_0
2933local i = 0
2934while i < 10 do
2935 i = i + 1
2936 if i % 2 == 0 then
2937 goto _continue_0
2938 end
2939 print(i)
2940 ::_continue_0::
2941end
2942local my_numbers = {
2943 1,
2944 2,
2945 3,
2946 4,
2947 5,
2948 6
2949}
2950local odds
2951local _accum_0 = { }
2952local _len_0 = 1
2953for _index_0 = 1, #my_numbers do
2954 local x = my_numbers[_index_0]
2955 if x % 2 == 1 then
2956 goto _continue_0
2957 end
2958 _accum_0[_len_0] = x
2959 _len_0 = _len_0 + 1
2960 ::_continue_0::
2961end
2962odds = _accum_0
2963local have_coins = false
2964if have_coins then
2965 print("有硬币")
2966else
2967 print("没有硬币")
2968end
2969local have_coins = false
2970if have_coins then
2971 print("有硬币")
2972else
2973 print("没有硬币")
2974end
2975local have_coins = false
2976print((function()
2977 if have_coins then
2978 return "有硬币"
2979 else
2980 return "没有硬币"
2981 end
2982end)())
2983local is_tall
2984is_tall = function(name)
2985 if name == "Rob" then
2986 return true
2987 else
2988 return false
2989 end
2990end
2991local message
2992if is_tall("Rob") then
2993 message = "我很高"
2994else
2995 message = "我不是很高"
2996end
2997print(message)
2998if not (os.date("%A") == "Monday") then
2999 print("今天不是星期一!")
3000end
3001if not (math.random() > 0.1) then
3002 print("你真幸运!")
3003end
3004local a = 5
3005if (1 == a or 3 == a or 5 == a or 7 == a) then
3006 print("检查离散值的相等性")
3007end
3008if (function()
3009 local _check_0 = list
3010 for _index_0 = 1, #_check_0 do
3011 if _check_0[_index_0] == a then
3012 return true
3013 end
3014 end
3015 return false
3016end)() then
3017 print("检查`a`是否在列表中")
3018end
3019if not (math.random() > 0.1) then
3020 print("你很幸运!")
3021end
3022local have_coins = false
3023if have_coins then
3024 print("有硬币")
3025else
3026 print("没有硬币")
3027end
3028local have_coins = false
3029if have_coins then
3030 print("有硬币")
3031else
3032 print("没有硬币")
3033end
3034local have_coins = false
3035print((function()
3036 if have_coins then
3037 return "有硬币"
3038 else
3039 return "没有硬币"
3040 end
3041end)())
3042local is_tall
3043is_tall = function(name)
3044 if name == "Rob" then
3045 return true
3046 else
3047 return false
3048 end
3049end
3050local message
3051if is_tall("Rob") then
3052 message = "我很高"
3053else
3054 message = "我不是很高"
3055end
3056print(message)
3057if not (os.date("%A") == "Monday") then
3058 print("今天不是星期一!")
3059end
3060if not (math.random() > 0.1) then
3061 print("你真幸运!")
3062end
3063local a = 5
3064if (1 == a or 3 == a or 5 == a or 7 == a) then
3065 print("检查离散值的相等性")
3066end
3067if (function()
3068 local _check_0 = list
3069 for _index_0 = 1, #_check_0 do
3070 if _check_0[_index_0] == a then
3071 return true
3072 end
3073 end
3074 return false
3075end)() then
3076 print("检查`a`是否在列表中")
3077end
3078if not (math.random() > 0.1) then
3079 print("你很幸运!")
3080end
3081if name == "Rob" then
3082 print("你好,世界")
3083end
3084local _list_0 = items
3085for _index_0 = 1, #_list_0 do
3086 local item = _list_0[_index_0]
3087 print("项目: ", item)
3088end
3089while game:isRunning() do
3090 game:update()
3091end
3092while not reader:eof() do
3093 reader:parse_line()
3094end
3095if name == "Rob" then
3096 print("你好,世界")
3097end
3098local _list_0 = items
3099for _index_0 = 1, #_list_0 do
3100 local item = _list_0[_index_0]
3101 print("项目: ", item)
3102end
3103while game:isRunning() do
3104 game:update()
3105end
3106while not reader:eof() do
3107 reader:parse_line()
3108end
3109local name = "Dan"
3110if "Robert" == name then
3111 print("你是Robert")
3112elseif "Dan" == name or "Daniel" == name then
3113 print("你的名字是Dan")
3114else
3115 print("我不认识你,你的名字是" .. tostring(name))
3116end
3117local b = 1
3118local next_number
3119if 1 == b then
3120 next_number = 2
3121elseif 2 == b then
3122 next_number = 3
3123else
3124 next_number = error("数字数得太大了!")
3125end
3126local msg
3127local _exp_0 = math.random(1, 5)
3128if 1 == _exp_0 then
3129 msg = "你很幸运"
3130elseif 2 == _exp_0 then
3131 msg = "你差点很幸运"
3132else
3133 msg = "不太幸运"
3134end
3135do
3136 local _exp_0 = math.random(1, 5)
3137 if 1 == _exp_0 then
3138 print("你很幸运")
3139 else
3140 print("不太幸运")
3141 end
3142end
3143local _exp_0 = math.random(1, 5)
3144if 1 == _exp_0 then
3145 print("你很幸运")
3146else
3147 print("不太幸运")
3148end
3149local items = {
3150 {
3151 x = 100,
3152 y = 200
3153 },
3154 {
3155 width = 300,
3156 height = 400
3157 }
3158}
3159for _index_0 = 1, #items do
3160 local item = items[_index_0]
3161 local _type_0 = type(item)
3162 local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3163 local _match_0 = false
3164 if _tab_0 then
3165 local x = item.x
3166 local y = item.y
3167 if x ~= nil and y ~= nil then
3168 _match_0 = true
3169 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3170 end
3171 end
3172 if not _match_0 then
3173 if _tab_0 then
3174 local width = item.width
3175 local height = item.height
3176 if width ~= nil and height ~= nil then
3177 print("尺寸 " .. tostring(width) .. ", " .. tostring(height))
3178 end
3179 end
3180 end
3181end
3182local item = { }
3183local x, y = item.pos.x, item.pos.y
3184if x == nil then
3185 x = 50
3186end
3187if y == nil then
3188 y = 200
3189end
3190local _type_0 = type(item)
3191local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3192if _tab_0 then
3193 do
3194 local _obj_0 = item.pos
3195 local _type_1 = type(_obj_0)
3196 if "table" == _type_1 or "userdata" == _type_1 then
3197 x = _obj_0.x
3198 end
3199 end
3200 do
3201 local _obj_0 = item.pos
3202 local _type_1 = type(_obj_0)
3203 if "table" == _type_1 or "userdata" == _type_1 then
3204 y = _obj_0.y
3205 end
3206 end
3207 if x == nil then
3208 x = 50
3209 end
3210 if y == nil then
3211 y = 200
3212 end
3213 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3214end
3215local _exp_0 = tb
3216local _type_0 = type(_exp_0)
3217local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3218local _match_0 = false
3219if _tab_0 then
3220 if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then
3221 _match_0 = true
3222 print("1, 2, 3")
3223 end
3224end
3225if not _match_0 then
3226 local _match_1 = false
3227 if _tab_0 then
3228 local b = _exp_0[2]
3229 if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then
3230 _match_1 = true
3231 print("1, " .. tostring(b) .. ", 3")
3232 end
3233 end
3234 if not _match_1 then
3235 if _tab_0 then
3236 local b = _exp_0[3]
3237 if b == nil then
3238 b = 3
3239 end
3240 if 1 == _exp_0[1] and 2 == _exp_0[2] then
3241 print("1, 2, " .. tostring(b))
3242 end
3243 end
3244 end
3245end
3246local _exp_0 = tb
3247local _type_0 = type(_exp_0)
3248local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3249local _match_0 = false
3250if _tab_0 then
3251 local result = _exp_0.result
3252 if true == _exp_0.success and result ~= nil then
3253 _match_0 = true
3254 print("成功", result)
3255 end
3256end
3257if not _match_0 then
3258 local _match_1 = false
3259 if _tab_0 then
3260 if false == _exp_0.success then
3261 _match_1 = true
3262 print("失败", result)
3263 end
3264 end
3265 if not _match_1 then
3266 print("无效值")
3267 end
3268end
3269local _exp_0 = tb
3270local _type_0 = type(_exp_0)
3271local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3272local _match_0 = false
3273if _tab_0 then
3274 local content
3275 do
3276 local _obj_0 = _exp_0.data
3277 local _type_1 = type(_obj_0)
3278 if "table" == _type_1 or "userdata" == _type_1 then
3279 content = _obj_0.content
3280 end
3281 end
3282 local _val_0
3283 do
3284 local _obj_0 = _exp_0.data
3285 if _obj_0 ~= nil then
3286 _val_0 = _obj_0.type
3287 end
3288 end
3289 if "success" == _val_0 and content ~= nil then
3290 _match_0 = true
3291 print("成功", content)
3292 end
3293end
3294if not _match_0 then
3295 local _match_1 = false
3296 if _tab_0 then
3297 local content
3298 do
3299 local _obj_0 = _exp_0.data
3300 local _type_1 = type(_obj_0)
3301 if "table" == _type_1 or "userdata" == _type_1 then
3302 content = _obj_0.content
3303 end
3304 end
3305 local _val_0
3306 do
3307 local _obj_0 = _exp_0.data
3308 if _obj_0 ~= nil then
3309 _val_0 = _obj_0.type
3310 end
3311 end
3312 if "error" == _val_0 and content ~= nil then
3313 _match_1 = true
3314 print("失败", content)
3315 end
3316 end
3317 if not _match_1 then
3318 print("无效值")
3319 end
3320end
3321local _exp_0 = tb
3322local _type_0 = type(_exp_0)
3323local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3324if _tab_0 then
3325 local fourth = _exp_0[4]
3326 local _val_0
3327 do
3328 local _obj_0 = _exp_0[1]
3329 if _obj_0 ~= nil then
3330 _val_0 = _obj_0.a
3331 end
3332 end
3333 local _val_1
3334 do
3335 local _obj_0 = _exp_0[1]
3336 if _obj_0 ~= nil then
3337 _val_1 = _obj_0.b
3338 end
3339 end
3340 local _val_2
3341 do
3342 local _obj_0 = _exp_0[2]
3343 if _obj_0 ~= nil then
3344 _val_2 = _obj_0.a
3345 end
3346 end
3347 local _val_3
3348 do
3349 local _obj_0 = _exp_0[2]
3350 if _obj_0 ~= nil then
3351 _val_3 = _obj_0.b
3352 end
3353 end
3354 local _val_4
3355 do
3356 local _obj_0 = _exp_0[3]
3357 if _obj_0 ~= nil then
3358 _val_4 = _obj_0.a
3359 end
3360 end
3361 local _val_5
3362 do
3363 local _obj_0 = _exp_0[3]
3364 if _obj_0 ~= nil then
3365 _val_5 = _obj_0.b
3366 end
3367 end
3368 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
3369 print("匹配成功", fourth)
3370 end
3371end
3372local segments = {
3373 "admin",
3374 "users",
3375 "logs",
3376 "view"
3377}
3378local _type_0 = type(segments)
3379local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3380if _tab_0 then
3381 local groups
3382 do
3383 local _accum_0 = { }
3384 local _len_0 = 1
3385 local _max_0 = #segments + -3 + 1
3386 for _index_0 = 1, _max_0 do
3387 local _item_0 = segments[_index_0]
3388 _accum_0[_len_0] = _item_0
3389 _len_0 = _len_0 + 1
3390 end
3391 groups = _accum_0
3392 end
3393 local resource = segments[#segments - 1]
3394 local action = segments[#segments]
3395 if resource ~= nil and action ~= nil then
3396 print("Group:", groups)
3397 print("Resource:", resource)
3398 print("Action:", action)
3399 end
3400end
3401local name = "Dan"
3402if "Robert" == name then
3403 print("你是Robert")
3404elseif "Dan" == name or "Daniel" == name then
3405 print("你的名字是Dan")
3406else
3407 print("我不认识你,你的名字是" .. tostring(name))
3408end
3409local b = 1
3410local next_number
3411if 1 == b then
3412 next_number = 2
3413elseif 2 == b then
3414 next_number = 3
3415else
3416 next_number = error("数字数得太大了!")
3417end
3418local msg
3419local _exp_0 = math.random(1, 5)
3420if 1 == _exp_0 then
3421 msg = "你很幸运"
3422elseif 2 == _exp_0 then
3423 msg = "你差点很幸运"
3424else
3425 msg = "不太幸运"
3426end
3427do
3428 local _exp_0 = math.random(1, 5)
3429 if 1 == _exp_0 then
3430 print("你很幸运")
3431 else
3432 print("不太幸运")
3433 end
3434end
3435local _exp_0 = math.random(1, 5)
3436if 1 == _exp_0 then
3437 print("你很幸运")
3438else
3439 print("不太幸运")
3440end
3441local items = {
3442 {
3443 x = 100,
3444 y = 200
3445 },
3446 {
3447 width = 300,
3448 height = 400
3449 }
3450}
3451for _index_0 = 1, #items do
3452 local item = items[_index_0]
3453 local _type_0 = type(item)
3454 local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3455 local _match_0 = false
3456 if _tab_0 then
3457 local x = item.x
3458 local y = item.y
3459 if x ~= nil and y ~= nil then
3460 _match_0 = true
3461 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3462 end
3463 end
3464 if not _match_0 then
3465 if _tab_0 then
3466 local width = item.width
3467 local height = item.height
3468 if width ~= nil and height ~= nil then
3469 print("尺寸 " .. tostring(width) .. ", " .. tostring(height))
3470 end
3471 end
3472 end
3473end
3474local item = { }
3475local x, y = item.pos.x, item.pos.y
3476if x == nil then
3477 x = 50
3478end
3479if y == nil then
3480 y = 200
3481end
3482local _type_0 = type(item)
3483local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3484if _tab_0 then
3485 do
3486 local _obj_0 = item.pos
3487 local _type_1 = type(_obj_0)
3488 if "table" == _type_1 or "userdata" == _type_1 then
3489 x = _obj_0.x
3490 end
3491 end
3492 do
3493 local _obj_0 = item.pos
3494 local _type_1 = type(_obj_0)
3495 if "table" == _type_1 or "userdata" == _type_1 then
3496 y = _obj_0.y
3497 end
3498 end
3499 if x == nil then
3500 x = 50
3501 end
3502 if y == nil then
3503 y = 200
3504 end
3505 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3506end
3507local _exp_0 = tb
3508local _type_0 = type(_exp_0)
3509local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3510local _match_0 = false
3511if _tab_0 then
3512 if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then
3513 _match_0 = true
3514 print("1, 2, 3")
3515 end
3516end
3517if not _match_0 then
3518 local _match_1 = false
3519 if _tab_0 then
3520 local b = _exp_0[2]
3521 if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then
3522 _match_1 = true
3523 print("1, " .. tostring(b) .. ", 3")
3524 end
3525 end
3526 if not _match_1 then
3527 if _tab_0 then
3528 local b = _exp_0[3]
3529 if b == nil then
3530 b = 3
3531 end
3532 if 1 == _exp_0[1] and 2 == _exp_0[2] then
3533 print("1, 2, " .. tostring(b))
3534 end
3535 end
3536 end
3537end
3538local _exp_0 = tb
3539local _type_0 = type(_exp_0)
3540local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3541local _match_0 = false
3542if _tab_0 then
3543 local result = _exp_0.result
3544 if true == _exp_0.success and result ~= nil then
3545 _match_0 = true
3546 print("成功", result)
3547 end
3548end
3549if not _match_0 then
3550 local _match_1 = false
3551 if _tab_0 then
3552 if false == _exp_0.success then
3553 _match_1 = true
3554 print("失败", result)
3555 end
3556 end
3557 if not _match_1 then
3558 print("无效值")
3559 end
3560end
3561local _exp_0 = tb
3562local _type_0 = type(_exp_0)
3563local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3564local _match_0 = false
3565if _tab_0 then
3566 local content
3567 do
3568 local _obj_0 = _exp_0.data
3569 local _type_1 = type(_obj_0)
3570 if "table" == _type_1 or "userdata" == _type_1 then
3571 content = _obj_0.content
3572 end
3573 end
3574 local _val_0
3575 do
3576 local _obj_0 = _exp_0.data
3577 if _obj_0 ~= nil then
3578 _val_0 = _obj_0.type
3579 end
3580 end
3581 if "success" == _val_0 and content ~= nil then
3582 _match_0 = true
3583 print("成功", content)
3584 end
3585end
3586if not _match_0 then
3587 local _match_1 = false
3588 if _tab_0 then
3589 local content
3590 do
3591 local _obj_0 = _exp_0.data
3592 local _type_1 = type(_obj_0)
3593 if "table" == _type_1 or "userdata" == _type_1 then
3594 content = _obj_0.content
3595 end
3596 end
3597 local _val_0
3598 do
3599 local _obj_0 = _exp_0.data
3600 if _obj_0 ~= nil then
3601 _val_0 = _obj_0.type
3602 end
3603 end
3604 if "error" == _val_0 and content ~= nil then
3605 _match_1 = true
3606 print("失败", content)
3607 end
3608 end
3609 if not _match_1 then
3610 print("无效值")
3611 end
3612end
3613local _exp_0 = tb
3614local _type_0 = type(_exp_0)
3615local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3616if _tab_0 then
3617 local fourth = _exp_0[4]
3618 local _val_0
3619 do
3620 local _obj_0 = _exp_0[1]
3621 if _obj_0 ~= nil then
3622 _val_0 = _obj_0.a
3623 end
3624 end
3625 local _val_1
3626 do
3627 local _obj_0 = _exp_0[1]
3628 if _obj_0 ~= nil then
3629 _val_1 = _obj_0.b
3630 end
3631 end
3632 local _val_2
3633 do
3634 local _obj_0 = _exp_0[2]
3635 if _obj_0 ~= nil then
3636 _val_2 = _obj_0.a
3637 end
3638 end
3639 local _val_3
3640 do
3641 local _obj_0 = _exp_0[2]
3642 if _obj_0 ~= nil then
3643 _val_3 = _obj_0.b
3644 end
3645 end
3646 local _val_4
3647 do
3648 local _obj_0 = _exp_0[3]
3649 if _obj_0 ~= nil then
3650 _val_4 = _obj_0.a
3651 end
3652 end
3653 local _val_5
3654 do
3655 local _obj_0 = _exp_0[3]
3656 if _obj_0 ~= nil then
3657 _val_5 = _obj_0.b
3658 end
3659 end
3660 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
3661 print("匹配成功", fourth)
3662 end
3663end
3664local segments = {
3665 "admin",
3666 "users",
3667 "logs",
3668 "view"
3669}
3670local _type_0 = type(segments)
3671local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3672if _tab_0 then
3673 local groups
3674 do
3675 local _accum_0 = { }
3676 local _len_0 = 1
3677 local _max_0 = #segments + -3 + 1
3678 for _index_0 = 1, _max_0 do
3679 local _item_0 = segments[_index_0]
3680 _accum_0[_len_0] = _item_0
3681 _len_0 = _len_0 + 1
3682 end
3683 groups = _accum_0
3684 end
3685 local resource = segments[#segments - 1]
3686 local action = segments[#segments]
3687 if resource ~= nil and action ~= nil then
3688 print("Group:", groups)
3689 print("Resource:", resource)
3690 print("Action:", action)
3691 end
3692end
3693local Inventory 1149local Inventory
3694local _class_0 1150local _class_0
3695local _base_0 = { 1151local _base_0 = {
@@ -5010,86 +2466,440 @@ local _with_0 = obj
5010if _with_0 ~= nil then 2466if _with_0 ~= nil then
5011 print(obj.name) 2467 print(obj.name)
5012end 2468end
2469local hello = "world"
2470local a, b, c = 1, 2, 3
2471hello = 123
2472local x = 1
2473x = x + 1
2474x = x - 1
2475x = x * 10
2476x = x / 10
2477x = x % 10
2478local s = s .. "world"
2479local arg = arg or "默认值"
2480local a = 0
2481local b = 0
2482local c = 0
2483local d = 0
2484local e = 0
2485local x = f()
2486local y = x
2487local z = x
2488do
2489 local a = 1
2490 local x, y, z
2491 print("预先声明后续所有变量为局部变量")
2492 x = function()
2493 return 1 + y + z
2494 end
2495 y, z = 2, 3
2496 instance = Item:new()
2497end
5013do 2498do
5014 local var = "hello" 2499 local X = 1
5015 print(var) 2500 local B
2501 print("只预先声明后续大写的变量为局部变量")
2502 local a = 1
2503 B = 2
5016end 2504end
5017print(var)
5018local counter
5019do 2505do
5020 local i = 0 2506 a = 1
5021 counter = function() 2507 print("预先声明所有变量为全局变量")
5022 i = i + 1 2508 x = function()
5023 return i 2509 return 1 + y + z
5024 end 2510 end
2511 y, z = 2, 3
5025end 2512end
5026print(counter())
5027print(counter())
5028local tbl = {
5029 key = (function()
5030 print("分配键值!")
5031 return 1234
5032 end)()
5033}
5034do 2513do
5035 local var = "hello" 2514 x = 1
5036 print(var) 2515 print("只预先声明大写的变量为全局变量")
2516 local a = 1
2517 B = 2
2518 local Temp = "一个局部值"
5037end 2519end
5038print(var) 2520local hello = "world"
5039local counter 2521local a, b, c = 1, 2, 3
2522hello = 123
2523local x = 1
2524x = x + 1
2525x = x - 1
2526x = x * 10
2527x = x / 10
2528x = x % 10
2529local s = s .. "world"
2530local arg = arg or "默认值"
2531local a = 0
2532local b = 0
2533local c = 0
2534local d = 0
2535local e = 0
2536local x = f()
2537local y = x
2538local z = x
5040do 2539do
5041 local i = 0 2540 local a = 1
5042 counter = function() 2541 local x, y, z
5043 i = i + 1 2542 print("预先声明后续所有变量为局部变量")
5044 return i 2543 x = function()
2544 return 1 + y + z
5045 end 2545 end
2546 y, z = 2, 3
2547 instance = Item:new()
5046end 2548end
5047print(counter()) 2549do
5048print(counter()) 2550 local X = 1
5049local tbl = { 2551 local B
5050 key = (function() 2552 print("只预先声明后续大写的变量为局部变量")
5051 print("分配键值!") 2553 local a = 1
5052 return 1234 2554 B = 2
5053 end)() 2555end
5054} 2556do
5055local my_object = { 2557 a = 1
5056 value = 1000, 2558 print("预先声明所有变量为全局变量")
5057 write = function(self) 2559 x = function()
5058 return print("值为:", self.value) 2560 return 1 + y + z
5059 end 2561 end
2562 y, z = 2, 3
2563end
2564do
2565 x = 1
2566 print("只预先声明大写的变量为全局变量")
2567 local a = 1
2568 B = 2
2569 local Temp = "一个局部值"
2570end
2571local list = {
2572 1,
2573 2,
2574 3,
2575 4,
2576 5
5060} 2577}
5061local run_callback 2578local fn
5062run_callback = function(func) 2579fn = function(ok)
5063 print("运行回调...") 2580 return ok, table.unpack(list)
5064 return func()
5065end 2581end
5066run_callback(my_object.write) 2582(function(_arg_0, ...)
5067run_callback((function() 2583 local ok = _arg_0
5068 local _base_0 = my_object 2584 local count = select('#', ...)
5069 local _fn_0 = _base_0.write 2585 local first = select(1, ...)
5070 return _fn_0 and function(...) 2586 return print(ok, count, first)
5071 return _fn_0(_base_0, ...) 2587end)(fn(true))
2588local list = {
2589 1,
2590 2,
2591 3,
2592 4,
2593 5
2594}
2595local fn
2596fn = function(ok)
2597 return ok, table.unpack(list)
2598end
2599(function(_arg_0, ...)
2600 local ok = _arg_0
2601 local count = select('#', ...)
2602 local first = select(1, ...)
2603 return print(ok, count, first)
2604end)(fn(true))
2605local user = database.find_user("moon")
2606if user then
2607 print(user.name)
2608end
2609local hello = os.getenv("hello")
2610if hello then
2611 print("你有 hello", hello)
2612else
2613 local world = os.getenv("world")
2614 if world then
2615 print("你有 world", world)
2616 else
2617 print("什么都没有 :(")
5072 end 2618 end
5073end)()) 2619end
5074local my_object = { 2620do
5075 value = 1000, 2621 local success, result = pcall(function()
5076 write = function(self) 2622 return "无报错地获取结果"
5077 return print("值为:", self.value) 2623 end)
2624 if success then
2625 print(result)
5078 end 2626 end
2627end
2628print("好的")
2629repeat
2630 local byte = stream:read_one()
2631 if byte then
2632 print(byte)
2633 else
2634 break
2635 end
2636until false
2637local user = database.find_user("moon")
2638if user then
2639 print(user.name)
2640end
2641local hello = os.getenv("hello")
2642if hello then
2643 print("你有 hello", hello)
2644else
2645 local world = os.getenv("world")
2646 if world then
2647 print("你有 world", world)
2648 else
2649 print("什么都没有 :(")
2650 end
2651end
2652do
2653 local success, result = pcall(function()
2654 return "无报错地获取结果"
2655 end)
2656 if success then
2657 print(result)
2658 end
2659end
2660print("好的")
2661repeat
2662 local byte = stream:read_one()
2663 if byte then
2664 print(byte)
2665 else
2666 break
2667 end
2668until false
2669local thing = {
2670 1,
2671 2
5079} 2672}
5080local run_callback 2673local a, b = thing[1], thing[2]
5081run_callback = function(func) 2674print(a, b)
5082 print("运行回调...") 2675local obj = {
5083 return func() 2676 hello = "world",
2677 day = "tuesday",
2678 length = 20
2679}
2680local hello, the_day = obj.hello, obj.day
2681print(hello, the_day)
2682local day = obj.day
2683local obj2 = {
2684 numbers = {
2685 1,
2686 2,
2687 3,
2688 4
2689 },
2690 properties = {
2691 color = "green",
2692 height = 13.5
2693 }
2694}
2695local first, second, color = obj2.numbers[1], obj2.numbers[2], obj2.properties.color
2696print(first, second, color)
2697local first, second, color
2698local _obj_0 = obj2
2699first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2700local concat, insert
2701local _obj_0 = table
2702concat, insert = _obj_0.concat, _obj_0.insert
2703local mix, max, rand
2704local _obj_0 = math
2705mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2706local name, job
2707local _obj_0 = person
2708name, job = _obj_0.name, _obj_0.job
2709if name == nil then
2710 name = "nameless"
5084end 2711end
5085run_callback(my_object.write) 2712if job == nil then
5086run_callback((function() 2713 job = "jobless"
5087 local _base_0 = my_object 2714end
5088 local _fn_0 = _base_0.write 2715local two, four
5089 return _fn_0 and function(...) 2716local _obj_0 = items
5090 return _fn_0(_base_0, ...) 2717two, four = _obj_0[2], _obj_0[4]
2718local orders = {
2719 "first",
2720 "second",
2721 "third",
2722 "fourth",
2723 "last"
2724}
2725local first, bulk, last = orders[1], (function()
2726 local _accum_0 = { }
2727 local _len_0 = 1
2728 local _max_0 = #orders + -2 + 1
2729 for _index_0 = 2, _max_0 do
2730 local _item_0 = orders[_index_0]
2731 _accum_0[_len_0] = _item_0
2732 _len_0 = _len_0 + 1
5091 end 2733 end
5092end)()) 2734 return _accum_0
2735end)(), orders[#orders]
2736print(first)
2737print(bulk)
2738print(last)
2739local first, rest
2740do
2741 local _obj_0 = orders
2742 first, rest = _obj_0[1], (function()
2743 local _accum_0 = { }
2744 local _len_0 = 1
2745 local _max_0 = #_obj_0
2746 for _index_0 = 2, _max_0 do
2747 local _item_0 = _obj_0[_index_0]
2748 _accum_0[_len_0] = _item_0
2749 _len_0 = _len_0 + 1
2750 end
2751 return _accum_0
2752 end)()
2753end
2754local start, last
2755do
2756 local _obj_0 = orders
2757 start, last = (function()
2758 local _accum_0 = { }
2759 local _len_0 = 1
2760 local _max_0 = #_obj_0 + -2 + 1
2761 for _index_0 = 1, _max_0 do
2762 local _item_0 = _obj_0[_index_0]
2763 _accum_0[_len_0] = _item_0
2764 _len_0 = _len_0 + 1
2765 end
2766 return _accum_0
2767 end)(), _obj_0[#_obj_0]
2768end
2769local _obj_0 = orders
2770first, last = _obj_0[1], _obj_0[#_obj_0]
2771local tuples = {
2772 {
2773 "hello",
2774 "world"
2775 },
2776 {
2777 "egg",
2778 "head"
2779 }
2780}
2781for _index_0 = 1, #tuples do
2782 local _des_0 = tuples[_index_0]
2783 local left, right = _des_0[1], _des_0[2]
2784 print(left, right)
2785end
2786local thing = {
2787 1,
2788 2
2789}
2790local a, b = thing[1], thing[2]
2791print(a, b)
2792local obj = {
2793 hello = "world",
2794 day = "tuesday",
2795 length = 20
2796}
2797local hello, the_day = obj.hello, obj.day
2798print(hello, the_day)
2799local day = obj.day
2800local obj2 = {
2801 numbers = {
2802 1,
2803 2,
2804 3,
2805 4
2806 },
2807 properties = {
2808 color = "green",
2809 height = 13.5
2810 }
2811}
2812local first, second, color = obj2.numbers[1], obj2.numbers[2], obj2.properties.color
2813print(first, second, color)
2814local first, second, color
2815local _obj_0 = obj2
2816first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2817local concat, insert
2818local _obj_0 = table
2819concat, insert = _obj_0.concat, _obj_0.insert
2820local mix, max, rand
2821local _obj_0 = math
2822mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2823local name, job
2824local _obj_0 = person
2825name, job = _obj_0.name, _obj_0.job
2826if name == nil then
2827 name = "nameless"
2828end
2829if job == nil then
2830 job = "jobless"
2831end
2832local two, four
2833local _obj_0 = items
2834two, four = _obj_0[2], _obj_0[4]
2835local orders = {
2836 "first",
2837 "second",
2838 "third",
2839 "fourth",
2840 "last"
2841}
2842local first, bulk, last = orders[1], (function()
2843 local _accum_0 = { }
2844 local _len_0 = 1
2845 local _max_0 = #orders + -2 + 1
2846 for _index_0 = 2, _max_0 do
2847 local _item_0 = orders[_index_0]
2848 _accum_0[_len_0] = _item_0
2849 _len_0 = _len_0 + 1
2850 end
2851 return _accum_0
2852end)(), orders[#orders]
2853print(first)
2854print(bulk)
2855print(last)
2856local first, rest
2857do
2858 local _obj_0 = orders
2859 first, rest = _obj_0[1], (function()
2860 local _accum_0 = { }
2861 local _len_0 = 1
2862 local _max_0 = #_obj_0
2863 for _index_0 = 2, _max_0 do
2864 local _item_0 = _obj_0[_index_0]
2865 _accum_0[_len_0] = _item_0
2866 _len_0 = _len_0 + 1
2867 end
2868 return _accum_0
2869 end)()
2870end
2871local start, last
2872do
2873 local _obj_0 = orders
2874 start, last = (function()
2875 local _accum_0 = { }
2876 local _len_0 = 1
2877 local _max_0 = #_obj_0 + -2 + 1
2878 for _index_0 = 1, _max_0 do
2879 local _item_0 = _obj_0[_index_0]
2880 _accum_0[_len_0] = _item_0
2881 _len_0 = _len_0 + 1
2882 end
2883 return _accum_0
2884 end)(), _obj_0[#_obj_0]
2885end
2886local _obj_0 = orders
2887first, last = _obj_0[1], _obj_0[#_obj_0]
2888local tuples = {
2889 {
2890 "hello",
2891 "world"
2892 },
2893 {
2894 "egg",
2895 "head"
2896 }
2897}
2898for _index_0 = 1, #tuples do
2899 local _des_0 = tuples[_index_0]
2900 local left, right = _des_0[1], _des_0[2]
2901 print(left, right)
2902end
5093local i = 100 2903local i = 100
5094local my_func 2904local my_func
5095my_func = function() 2905my_func = function()
@@ -5146,3 +2956,2193 @@ my_func = function(add)
5146end 2956end
5147my_func(22) 2957my_func(22)
5148print(i, k) 2958print(i, k)
2959local _module_0 = { }
2960local p, to_lua
2961do
2962 local _obj_0 = require("yue")
2963 p, to_lua = _obj_0.p, _obj_0.to_lua
2964end
2965local inventory = {
2966 equipment = {
2967 "sword",
2968 "shield"
2969 },
2970 items = {
2971 {
2972 name = "potion",
2973 count = 10
2974 },
2975 {
2976 name = "bread",
2977 count = 3
2978 }
2979 }
2980}
2981local map
2982map = function(arr, action)
2983 local _accum_0 = { }
2984 local _len_0 = 1
2985 for _index_0 = 1, #arr do
2986 local item = arr[_index_0]
2987 _accum_0[_len_0] = action(item)
2988 _len_0 = _len_0 + 1
2989 end
2990 return _accum_0
2991end
2992local filter
2993filter = function(arr, cond)
2994 local _accum_0 = { }
2995 local _len_0 = 1
2996 for _index_0 = 1, #arr do
2997 local item = arr[_index_0]
2998 if cond(item) then
2999 _accum_0[_len_0] = item
3000 _len_0 = _len_0 + 1
3001 end
3002 end
3003 return _accum_0
3004end
3005local reduce
3006reduce = function(arr, init, action)
3007 for _index_0 = 1, #arr do
3008 local item = arr[_index_0]
3009 init = action(init, item)
3010 end
3011 return init
3012end
3013print(reduce(filter(map({
3014 1,
3015 2,
3016 3
3017}, function(x)
3018 return x * 2
3019end), function(x)
3020 return x > 4
3021end), 0, function(a, b)
3022 return a + b
3023end))
3024local apple = setmetatable({
3025 size = 15,
3026}, {
3027 __index = {
3028 color = 0x00ffff
3029 }
3030})
3031if (getmetatable(apple) ~= nil) then
3032 p(apple.size, apple.color, getmetatable(apple).__index)
3033end
3034local _u1f31b = "月之脚本"
3035_module_0["🌛"] = _u1f31b
3036return _module_0
3037local _module_0 = { }
3038local p, to_lua
3039do
3040 local _obj_0 = require("yue")
3041 p, to_lua = _obj_0.p, _obj_0.to_lua
3042end
3043local inventory = {
3044 equipment = {
3045 "sword",
3046 "shield"
3047 },
3048 items = {
3049 {
3050 name = "potion",
3051 count = 10
3052 },
3053 {
3054 name = "bread",
3055 count = 3
3056 }
3057 }
3058}
3059local map
3060map = function(arr, action)
3061 local _accum_0 = { }
3062 local _len_0 = 1
3063 for _index_0 = 1, #arr do
3064 local item = arr[_index_0]
3065 _accum_0[_len_0] = action(item)
3066 _len_0 = _len_0 + 1
3067 end
3068 return _accum_0
3069end
3070local filter
3071filter = function(arr, cond)
3072 local _accum_0 = { }
3073 local _len_0 = 1
3074 for _index_0 = 1, #arr do
3075 local item = arr[_index_0]
3076 if cond(item) then
3077 _accum_0[_len_0] = item
3078 _len_0 = _len_0 + 1
3079 end
3080 end
3081 return _accum_0
3082end
3083local reduce
3084reduce = function(arr, init, action)
3085 for _index_0 = 1, #arr do
3086 local item = arr[_index_0]
3087 init = action(init, item)
3088 end
3089 return init
3090end
3091print(reduce(filter(map({
3092 1,
3093 2,
3094 3
3095}, function(x)
3096 return x * 2
3097end), function(x)
3098 return x > 4
3099end), 0, function(a, b)
3100 return a + b
3101end))
3102local apple = setmetatable({
3103 size = 15,
3104}, {
3105 __index = {
3106 color = 0x00ffff
3107 }
3108})
3109if (getmetatable(apple) ~= nil) then
3110 p(apple.size, apple.color, getmetatable(apple).__index)
3111end
3112local _u1f31b = "月之脚本"
3113_module_0["🌛"] = _u1f31b
3114return _module_0
3115local have_coins = false
3116if have_coins then
3117 print("有硬币")
3118else
3119 print("没有硬币")
3120end
3121local have_coins = false
3122if have_coins then
3123 print("有硬币")
3124else
3125 print("没有硬币")
3126end
3127local have_coins = false
3128print((function()
3129 if have_coins then
3130 return "有硬币"
3131 else
3132 return "没有硬币"
3133 end
3134end)())
3135local is_tall
3136is_tall = function(name)
3137 if name == "Rob" then
3138 return true
3139 else
3140 return false
3141 end
3142end
3143local message
3144if is_tall("Rob") then
3145 message = "我很高"
3146else
3147 message = "我不是很高"
3148end
3149print(message)
3150if not (os.date("%A") == "Monday") then
3151 print("今天不是星期一!")
3152end
3153if not (math.random() > 0.1) then
3154 print("你真幸运!")
3155end
3156local a = 5
3157if (1 == a or 3 == a or 5 == a or 7 == a) then
3158 print("检查离散值的相等性")
3159end
3160if (function()
3161 local _check_0 = list
3162 for _index_0 = 1, #_check_0 do
3163 if _check_0[_index_0] == a then
3164 return true
3165 end
3166 end
3167 return false
3168end)() then
3169 print("检查`a`是否在列表中")
3170end
3171if not (math.random() > 0.1) then
3172 print("你很幸运!")
3173end
3174local have_coins = false
3175if have_coins then
3176 print("有硬币")
3177else
3178 print("没有硬币")
3179end
3180local have_coins = false
3181if have_coins then
3182 print("有硬币")
3183else
3184 print("没有硬币")
3185end
3186local have_coins = false
3187print((function()
3188 if have_coins then
3189 return "有硬币"
3190 else
3191 return "没有硬币"
3192 end
3193end)())
3194local is_tall
3195is_tall = function(name)
3196 if name == "Rob" then
3197 return true
3198 else
3199 return false
3200 end
3201end
3202local message
3203if is_tall("Rob") then
3204 message = "我很高"
3205else
3206 message = "我不是很高"
3207end
3208print(message)
3209if not (os.date("%A") == "Monday") then
3210 print("今天不是星期一!")
3211end
3212if not (math.random() > 0.1) then
3213 print("你真幸运!")
3214end
3215local a = 5
3216if (1 == a or 3 == a or 5 == a or 7 == a) then
3217 print("检查离散值的相等性")
3218end
3219if (function()
3220 local _check_0 = list
3221 for _index_0 = 1, #_check_0 do
3222 if _check_0[_index_0] == a then
3223 return true
3224 end
3225 end
3226 return false
3227end)() then
3228 print("检查`a`是否在列表中")
3229end
3230if not (math.random() > 0.1) then
3231 print("你很幸运!")
3232end
3233for i = 10, 20 do
3234 print(i)
3235end
3236for k = 1, 15, 2 do
3237 print(k)
3238end
3239for key, value in pairs(object) do
3240 print(key, value)
3241end
3242local _list_0 = items
3243for _index_0 = 2, 4 do
3244 local item = _list_0[_index_0]
3245 print(item)
3246end
3247local _list_0 = items
3248for _index_0 = 1, #_list_0 do
3249 local item = _list_0[_index_0]
3250 print(item)
3251end
3252for j = 1, 10, 3 do
3253 print(j)
3254end
3255local doubled_evens
3256local _accum_0 = { }
3257local _len_0 = 1
3258for i = 1, 20 do
3259 if i % 2 == 0 then
3260 _accum_0[_len_0] = i * 2
3261 _len_0 = _len_0 + 1
3262 else
3263 _accum_0[_len_0] = i
3264 _len_0 = _len_0 + 1
3265 end
3266end
3267doubled_evens = _accum_0
3268local first_large
3269local _accum_0
3270local _list_0 = numbers
3271for _index_0 = 1, #_list_0 do
3272 local n = _list_0[_index_0]
3273 if n > 10 then
3274 _accum_0 = n
3275 break
3276 end
3277end
3278first_large = _accum_0
3279local func_a
3280func_a = function()
3281 for i = 1, 10 do
3282 print(i)
3283 end
3284end
3285local func_b
3286func_b = function()
3287 local _accum_0 = { }
3288 local _len_0 = 1
3289 for i = 1, 10 do
3290 _accum_0[_len_0] = i
3291 _len_0 = _len_0 + 1
3292 end
3293 return _accum_0
3294end
3295print(func_a())
3296print(func_b())
3297for i = 10, 20 do
3298 print(i)
3299end
3300for k = 1, 15, 2 do
3301 print(k)
3302end
3303for key, value in pairs(object) do
3304 print(key, value)
3305end
3306local _list_0 = items
3307for _index_0 = 2, 4 do
3308 local item = _list_0[_index_0]
3309 print(item)
3310end
3311local _list_0 = items
3312for _index_0 = 1, #_list_0 do
3313 local item = _list_0[_index_0]
3314 print(item)
3315end
3316for j = 1, 10, 3 do
3317 print(j)
3318end
3319local doubled_evens
3320local _accum_0 = { }
3321local _len_0 = 1
3322for i = 1, 20 do
3323 if i % 2 == 0 then
3324 _accum_0[_len_0] = i * 2
3325 _len_0 = _len_0 + 1
3326 else
3327 _accum_0[_len_0] = i
3328 _len_0 = _len_0 + 1
3329 end
3330end
3331doubled_evens = _accum_0
3332local first_large
3333local _accum_0
3334local _list_0 = numbers
3335for _index_0 = 1, #_list_0 do
3336 local n = _list_0[_index_0]
3337 if n > 10 then
3338 _accum_0 = n
3339 break
3340 end
3341end
3342first_large = _accum_0
3343local func_a
3344func_a = function()
3345 for i = 1, 10 do
3346 print(i)
3347 end
3348end
3349local func_b
3350func_b = function()
3351 local _accum_0 = { }
3352 local _len_0 = 1
3353 for i = 1, 10 do
3354 _accum_0[_len_0] = i
3355 _len_0 = _len_0 + 1
3356 end
3357 return _accum_0
3358end
3359print(func_a())
3360print(func_b())
3361local i = 0
3362while i < 10 do
3363 i = i + 1
3364 if i % 2 == 0 then
3365 goto _continue_0
3366 end
3367 print(i)
3368 ::_continue_0::
3369end
3370local my_numbers = {
3371 1,
3372 2,
3373 3,
3374 4,
3375 5,
3376 6
3377}
3378local odds
3379local _accum_0 = { }
3380local _len_0 = 1
3381for _index_0 = 1, #my_numbers do
3382 local x = my_numbers[_index_0]
3383 if x % 2 == 1 then
3384 goto _continue_0
3385 end
3386 _accum_0[_len_0] = x
3387 _len_0 = _len_0 + 1
3388 ::_continue_0::
3389end
3390odds = _accum_0
3391local i = 0
3392while i < 10 do
3393 i = i + 1
3394 if i % 2 == 0 then
3395 goto _continue_0
3396 end
3397 print(i)
3398 ::_continue_0::
3399end
3400local my_numbers = {
3401 1,
3402 2,
3403 3,
3404 4,
3405 5,
3406 6
3407}
3408local odds
3409local _accum_0 = { }
3410local _len_0 = 1
3411for _index_0 = 1, #my_numbers do
3412 local x = my_numbers[_index_0]
3413 if x % 2 == 1 then
3414 goto _continue_0
3415 end
3416 _accum_0[_len_0] = x
3417 _len_0 = _len_0 + 1
3418 ::_continue_0::
3419end
3420odds = _accum_0
3421local name = "Dan"
3422if "Robert" == name then
3423 print("你是Robert")
3424elseif "Dan" == name or "Daniel" == name then
3425 print("你的名字是Dan")
3426else
3427 print("我不认识你,你的名字是" .. tostring(name))
3428end
3429local b = 1
3430local next_number
3431if 1 == b then
3432 next_number = 2
3433elseif 2 == b then
3434 next_number = 3
3435else
3436 next_number = error("数字数得太大了!")
3437end
3438local msg
3439local _exp_0 = math.random(1, 5)
3440if 1 == _exp_0 then
3441 msg = "你很幸运"
3442elseif 2 == _exp_0 then
3443 msg = "你差点很幸运"
3444else
3445 msg = "不太幸运"
3446end
3447do
3448 local _exp_0 = math.random(1, 5)
3449 if 1 == _exp_0 then
3450 print("你很幸运")
3451 else
3452 print("不太幸运")
3453 end
3454end
3455local _exp_0 = math.random(1, 5)
3456if 1 == _exp_0 then
3457 print("你很幸运")
3458else
3459 print("不太幸运")
3460end
3461local items = {
3462 {
3463 x = 100,
3464 y = 200
3465 },
3466 {
3467 width = 300,
3468 height = 400
3469 }
3470}
3471for _index_0 = 1, #items do
3472 local item = items[_index_0]
3473 local _type_0 = type(item)
3474 local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3475 local _match_0 = false
3476 if _tab_0 then
3477 local x = item.x
3478 local y = item.y
3479 if x ~= nil and y ~= nil then
3480 _match_0 = true
3481 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3482 end
3483 end
3484 if not _match_0 then
3485 if _tab_0 then
3486 local width = item.width
3487 local height = item.height
3488 if width ~= nil and height ~= nil then
3489 print("尺寸 " .. tostring(width) .. ", " .. tostring(height))
3490 end
3491 end
3492 end
3493end
3494local item = { }
3495local x, y = item.pos.x, item.pos.y
3496if x == nil then
3497 x = 50
3498end
3499if y == nil then
3500 y = 200
3501end
3502local _type_0 = type(item)
3503local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3504if _tab_0 then
3505 do
3506 local _obj_0 = item.pos
3507 local _type_1 = type(_obj_0)
3508 if "table" == _type_1 or "userdata" == _type_1 then
3509 x = _obj_0.x
3510 end
3511 end
3512 do
3513 local _obj_0 = item.pos
3514 local _type_1 = type(_obj_0)
3515 if "table" == _type_1 or "userdata" == _type_1 then
3516 y = _obj_0.y
3517 end
3518 end
3519 if x == nil then
3520 x = 50
3521 end
3522 if y == nil then
3523 y = 200
3524 end
3525 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3526end
3527local _exp_0 = tb
3528local _type_0 = type(_exp_0)
3529local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3530local _match_0 = false
3531if _tab_0 then
3532 if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then
3533 _match_0 = true
3534 print("1, 2, 3")
3535 end
3536end
3537if not _match_0 then
3538 local _match_1 = false
3539 if _tab_0 then
3540 local b = _exp_0[2]
3541 if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then
3542 _match_1 = true
3543 print("1, " .. tostring(b) .. ", 3")
3544 end
3545 end
3546 if not _match_1 then
3547 if _tab_0 then
3548 local b = _exp_0[3]
3549 if b == nil then
3550 b = 3
3551 end
3552 if 1 == _exp_0[1] and 2 == _exp_0[2] then
3553 print("1, 2, " .. tostring(b))
3554 end
3555 end
3556 end
3557end
3558local _exp_0 = tb
3559local _type_0 = type(_exp_0)
3560local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3561local _match_0 = false
3562if _tab_0 then
3563 local result = _exp_0.result
3564 if true == _exp_0.success and result ~= nil then
3565 _match_0 = true
3566 print("成功", result)
3567 end
3568end
3569if not _match_0 then
3570 local _match_1 = false
3571 if _tab_0 then
3572 if false == _exp_0.success then
3573 _match_1 = true
3574 print("失败", result)
3575 end
3576 end
3577 if not _match_1 then
3578 print("无效值")
3579 end
3580end
3581local _exp_0 = tb
3582local _type_0 = type(_exp_0)
3583local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3584local _match_0 = false
3585if _tab_0 then
3586 local content
3587 do
3588 local _obj_0 = _exp_0.data
3589 local _type_1 = type(_obj_0)
3590 if "table" == _type_1 or "userdata" == _type_1 then
3591 content = _obj_0.content
3592 end
3593 end
3594 local _val_0
3595 do
3596 local _obj_0 = _exp_0.data
3597 if _obj_0 ~= nil then
3598 _val_0 = _obj_0.type
3599 end
3600 end
3601 if "success" == _val_0 and content ~= nil then
3602 _match_0 = true
3603 print("成功", content)
3604 end
3605end
3606if not _match_0 then
3607 local _match_1 = false
3608 if _tab_0 then
3609 local content
3610 do
3611 local _obj_0 = _exp_0.data
3612 local _type_1 = type(_obj_0)
3613 if "table" == _type_1 or "userdata" == _type_1 then
3614 content = _obj_0.content
3615 end
3616 end
3617 local _val_0
3618 do
3619 local _obj_0 = _exp_0.data
3620 if _obj_0 ~= nil then
3621 _val_0 = _obj_0.type
3622 end
3623 end
3624 if "error" == _val_0 and content ~= nil then
3625 _match_1 = true
3626 print("失败", content)
3627 end
3628 end
3629 if not _match_1 then
3630 print("无效值")
3631 end
3632end
3633local _exp_0 = tb
3634local _type_0 = type(_exp_0)
3635local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3636if _tab_0 then
3637 local fourth = _exp_0[4]
3638 local _val_0
3639 do
3640 local _obj_0 = _exp_0[1]
3641 if _obj_0 ~= nil then
3642 _val_0 = _obj_0.a
3643 end
3644 end
3645 local _val_1
3646 do
3647 local _obj_0 = _exp_0[1]
3648 if _obj_0 ~= nil then
3649 _val_1 = _obj_0.b
3650 end
3651 end
3652 local _val_2
3653 do
3654 local _obj_0 = _exp_0[2]
3655 if _obj_0 ~= nil then
3656 _val_2 = _obj_0.a
3657 end
3658 end
3659 local _val_3
3660 do
3661 local _obj_0 = _exp_0[2]
3662 if _obj_0 ~= nil then
3663 _val_3 = _obj_0.b
3664 end
3665 end
3666 local _val_4
3667 do
3668 local _obj_0 = _exp_0[3]
3669 if _obj_0 ~= nil then
3670 _val_4 = _obj_0.a
3671 end
3672 end
3673 local _val_5
3674 do
3675 local _obj_0 = _exp_0[3]
3676 if _obj_0 ~= nil then
3677 _val_5 = _obj_0.b
3678 end
3679 end
3680 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
3681 print("匹配成功", fourth)
3682 end
3683end
3684local segments = {
3685 "admin",
3686 "users",
3687 "logs",
3688 "view"
3689}
3690local _type_0 = type(segments)
3691local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3692if _tab_0 then
3693 local groups
3694 do
3695 local _accum_0 = { }
3696 local _len_0 = 1
3697 local _max_0 = #segments + -3 + 1
3698 for _index_0 = 1, _max_0 do
3699 local _item_0 = segments[_index_0]
3700 _accum_0[_len_0] = _item_0
3701 _len_0 = _len_0 + 1
3702 end
3703 groups = _accum_0
3704 end
3705 local resource = segments[#segments - 1]
3706 local action = segments[#segments]
3707 if resource ~= nil and action ~= nil then
3708 print("Group:", groups)
3709 print("Resource:", resource)
3710 print("Action:", action)
3711 end
3712end
3713local name = "Dan"
3714if "Robert" == name then
3715 print("你是Robert")
3716elseif "Dan" == name or "Daniel" == name then
3717 print("你的名字是Dan")
3718else
3719 print("我不认识你,你的名字是" .. tostring(name))
3720end
3721local b = 1
3722local next_number
3723if 1 == b then
3724 next_number = 2
3725elseif 2 == b then
3726 next_number = 3
3727else
3728 next_number = error("数字数得太大了!")
3729end
3730local msg
3731local _exp_0 = math.random(1, 5)
3732if 1 == _exp_0 then
3733 msg = "你很幸运"
3734elseif 2 == _exp_0 then
3735 msg = "你差点很幸运"
3736else
3737 msg = "不太幸运"
3738end
3739do
3740 local _exp_0 = math.random(1, 5)
3741 if 1 == _exp_0 then
3742 print("你很幸运")
3743 else
3744 print("不太幸运")
3745 end
3746end
3747local _exp_0 = math.random(1, 5)
3748if 1 == _exp_0 then
3749 print("你很幸运")
3750else
3751 print("不太幸运")
3752end
3753local items = {
3754 {
3755 x = 100,
3756 y = 200
3757 },
3758 {
3759 width = 300,
3760 height = 400
3761 }
3762}
3763for _index_0 = 1, #items do
3764 local item = items[_index_0]
3765 local _type_0 = type(item)
3766 local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3767 local _match_0 = false
3768 if _tab_0 then
3769 local x = item.x
3770 local y = item.y
3771 if x ~= nil and y ~= nil then
3772 _match_0 = true
3773 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3774 end
3775 end
3776 if not _match_0 then
3777 if _tab_0 then
3778 local width = item.width
3779 local height = item.height
3780 if width ~= nil and height ~= nil then
3781 print("尺寸 " .. tostring(width) .. ", " .. tostring(height))
3782 end
3783 end
3784 end
3785end
3786local item = { }
3787local x, y = item.pos.x, item.pos.y
3788if x == nil then
3789 x = 50
3790end
3791if y == nil then
3792 y = 200
3793end
3794local _type_0 = type(item)
3795local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3796if _tab_0 then
3797 do
3798 local _obj_0 = item.pos
3799 local _type_1 = type(_obj_0)
3800 if "table" == _type_1 or "userdata" == _type_1 then
3801 x = _obj_0.x
3802 end
3803 end
3804 do
3805 local _obj_0 = item.pos
3806 local _type_1 = type(_obj_0)
3807 if "table" == _type_1 or "userdata" == _type_1 then
3808 y = _obj_0.y
3809 end
3810 end
3811 if x == nil then
3812 x = 50
3813 end
3814 if y == nil then
3815 y = 200
3816 end
3817 print("Vec2 " .. tostring(x) .. ", " .. tostring(y))
3818end
3819local _exp_0 = tb
3820local _type_0 = type(_exp_0)
3821local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3822local _match_0 = false
3823if _tab_0 then
3824 if 1 == _exp_0[1] and 2 == _exp_0[2] and 3 == _exp_0[3] then
3825 _match_0 = true
3826 print("1, 2, 3")
3827 end
3828end
3829if not _match_0 then
3830 local _match_1 = false
3831 if _tab_0 then
3832 local b = _exp_0[2]
3833 if 1 == _exp_0[1] and b ~= nil and 3 == _exp_0[3] then
3834 _match_1 = true
3835 print("1, " .. tostring(b) .. ", 3")
3836 end
3837 end
3838 if not _match_1 then
3839 if _tab_0 then
3840 local b = _exp_0[3]
3841 if b == nil then
3842 b = 3
3843 end
3844 if 1 == _exp_0[1] and 2 == _exp_0[2] then
3845 print("1, 2, " .. tostring(b))
3846 end
3847 end
3848 end
3849end
3850local _exp_0 = tb
3851local _type_0 = type(_exp_0)
3852local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3853local _match_0 = false
3854if _tab_0 then
3855 local result = _exp_0.result
3856 if true == _exp_0.success and result ~= nil then
3857 _match_0 = true
3858 print("成功", result)
3859 end
3860end
3861if not _match_0 then
3862 local _match_1 = false
3863 if _tab_0 then
3864 if false == _exp_0.success then
3865 _match_1 = true
3866 print("失败", result)
3867 end
3868 end
3869 if not _match_1 then
3870 print("无效值")
3871 end
3872end
3873local _exp_0 = tb
3874local _type_0 = type(_exp_0)
3875local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3876local _match_0 = false
3877if _tab_0 then
3878 local content
3879 do
3880 local _obj_0 = _exp_0.data
3881 local _type_1 = type(_obj_0)
3882 if "table" == _type_1 or "userdata" == _type_1 then
3883 content = _obj_0.content
3884 end
3885 end
3886 local _val_0
3887 do
3888 local _obj_0 = _exp_0.data
3889 if _obj_0 ~= nil then
3890 _val_0 = _obj_0.type
3891 end
3892 end
3893 if "success" == _val_0 and content ~= nil then
3894 _match_0 = true
3895 print("成功", content)
3896 end
3897end
3898if not _match_0 then
3899 local _match_1 = false
3900 if _tab_0 then
3901 local content
3902 do
3903 local _obj_0 = _exp_0.data
3904 local _type_1 = type(_obj_0)
3905 if "table" == _type_1 or "userdata" == _type_1 then
3906 content = _obj_0.content
3907 end
3908 end
3909 local _val_0
3910 do
3911 local _obj_0 = _exp_0.data
3912 if _obj_0 ~= nil then
3913 _val_0 = _obj_0.type
3914 end
3915 end
3916 if "error" == _val_0 and content ~= nil then
3917 _match_1 = true
3918 print("失败", content)
3919 end
3920 end
3921 if not _match_1 then
3922 print("无效值")
3923 end
3924end
3925local _exp_0 = tb
3926local _type_0 = type(_exp_0)
3927local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3928if _tab_0 then
3929 local fourth = _exp_0[4]
3930 local _val_0
3931 do
3932 local _obj_0 = _exp_0[1]
3933 if _obj_0 ~= nil then
3934 _val_0 = _obj_0.a
3935 end
3936 end
3937 local _val_1
3938 do
3939 local _obj_0 = _exp_0[1]
3940 if _obj_0 ~= nil then
3941 _val_1 = _obj_0.b
3942 end
3943 end
3944 local _val_2
3945 do
3946 local _obj_0 = _exp_0[2]
3947 if _obj_0 ~= nil then
3948 _val_2 = _obj_0.a
3949 end
3950 end
3951 local _val_3
3952 do
3953 local _obj_0 = _exp_0[2]
3954 if _obj_0 ~= nil then
3955 _val_3 = _obj_0.b
3956 end
3957 end
3958 local _val_4
3959 do
3960 local _obj_0 = _exp_0[3]
3961 if _obj_0 ~= nil then
3962 _val_4 = _obj_0.a
3963 end
3964 end
3965 local _val_5
3966 do
3967 local _obj_0 = _exp_0[3]
3968 if _obj_0 ~= nil then
3969 _val_5 = _obj_0.b
3970 end
3971 end
3972 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
3973 print("匹配成功", fourth)
3974 end
3975end
3976local segments = {
3977 "admin",
3978 "users",
3979 "logs",
3980 "view"
3981}
3982local _type_0 = type(segments)
3983local _tab_0 = "table" == _type_0 or "userdata" == _type_0
3984if _tab_0 then
3985 local groups
3986 do
3987 local _accum_0 = { }
3988 local _len_0 = 1
3989 local _max_0 = #segments + -3 + 1
3990 for _index_0 = 1, _max_0 do
3991 local _item_0 = segments[_index_0]
3992 _accum_0[_len_0] = _item_0
3993 _len_0 = _len_0 + 1
3994 end
3995 groups = _accum_0
3996 end
3997 local resource = segments[#segments - 1]
3998 local action = segments[#segments]
3999 if resource ~= nil and action ~= nil then
4000 print("Group:", groups)
4001 print("Resource:", resource)
4002 print("Action:", action)
4003 end
4004end
4005local i = 10
4006while i > 0 do
4007 print(i)
4008 i = i - 1
4009end
4010while running == true do
4011 my_function()
4012end
4013local i = 10
4014while not (i == 0) do
4015 print(i)
4016 i = i - 1
4017end
4018while not (running == false) do
4019 my_function()
4020end
4021local i = 10
4022repeat
4023 print(i)
4024 i = i - 1
4025until i == 0
4026local i = 10
4027while i > 0 do
4028 print(i)
4029 i = i - 1
4030end
4031while running == true do
4032 my_function()
4033end
4034local i = 10
4035while not (i == 0) do
4036 print(i)
4037 i = i - 1
4038end
4039while not (running == false) do
4040 my_function()
4041end
4042local i = 10
4043repeat
4044 print(i)
4045 i = i - 1
4046until i == 0
4047local my_object = {
4048 value = 1000,
4049 write = function(self)
4050 return print("值为:", self.value)
4051 end
4052}
4053local run_callback
4054run_callback = function(func)
4055 print("运行回调...")
4056 return func()
4057end
4058run_callback(my_object.write)
4059run_callback((function()
4060 local _base_0 = my_object
4061 local _fn_0 = _base_0.write
4062 return _fn_0 and function(...)
4063 return _fn_0(_base_0, ...)
4064 end
4065end)())
4066local my_object = {
4067 value = 1000,
4068 write = function(self)
4069 return print("值为:", self.value)
4070 end
4071}
4072local run_callback
4073run_callback = function(func)
4074 print("运行回调...")
4075 return func()
4076end
4077run_callback(my_object.write)
4078run_callback((function()
4079 local _base_0 = my_object
4080 local _fn_0 = _base_0.write
4081 return _fn_0 and function(...)
4082 return _fn_0(_base_0, ...)
4083 end
4084end)())
4085f(function(x)
4086 return print("hello" .. x)
4087end)
4088f(function(self)
4089 return print(self.value)
4090end)
4091map(function(x)
4092 return x * 2
4093end, {
4094 1,
4095 2,
4096 3
4097})
4098local result, msg
4099do
4100 result, msg = readAsync("文件名.txt", function(data)
4101 print(data)
4102 return processAsync(data, function(info)
4103 return check(info)
4104 end)
4105 end)
4106end
4107print(result, msg)
4108f(function(x)
4109 return print("hello" .. x)
4110end)
4111f(function(self)
4112 return print(self.value)
4113end)
4114map(function(x)
4115 return x * 2
4116end, {
4117 1,
4118 2,
4119 3
4120})
4121local result, msg
4122do
4123 result, msg = readAsync("文件名.txt", function(data)
4124 print(data)
4125 return processAsync(data, function(info)
4126 return check(info)
4127 end)
4128 end)
4129end
4130print(result, msg)
4131local my_function
4132my_function = function() end
4133my_function()
4134local func_a
4135func_a = function()
4136 return print("你好,世界")
4137end
4138local func_b
4139func_b = function()
4140 local value = 100
4141 return print("这个值是:", value)
4142end
4143func_a()
4144func_b()
4145local sum
4146sum = function(x, y)
4147 return print("数字的和", x + y)
4148end
4149sum(10, 20)
4150print(sum(10, 20))
4151a(b(c("a", "b", "c")))
4152print("x:", sum(10, 20), "y:", sum(30, 40))
4153local sum
4154sum = function(x, y)
4155 return x + y
4156end
4157print("数字的和是", sum(10, 20))
4158local sum
4159sum = function(x, y)
4160 return x + y
4161end
4162local mystery
4163mystery = function(x, y)
4164 return x + y, x - y
4165end
4166local a, b = mystery(10, 20)
4167local func
4168func = function(self, num)
4169 return self.value + num
4170end
4171local my_function
4172my_function = function(name, height)
4173 if name == nil then
4174 name = "某物"
4175 end
4176 if height == nil then
4177 height = 100
4178 end
4179 print("你好,我是", name)
4180 return print("我的高度是", height)
4181end
4182local some_args
4183some_args = function(x, y)
4184 if x == nil then
4185 x = 100
4186 end
4187 if y == nil then
4188 y = x + 1000
4189 end
4190 return print(x + y)
4191end
4192local a = x - 10
4193local b = x - 10
4194local c = x(-y)
4195local d = x - z
4196local x = func("hello") + 100
4197local y = func("hello" + 100)
4198my_func(5, 4, 3, 8, 9, 10)
4199cool_func(1, 2, 3, 4, 5, 6, 7, 8)
4200my_func(5, 6, 7, 6, another_func(6, 7, 8, 9, 1, 2), 5, 4)
4201local x = {
4202 1,
4203 2,
4204 3,
4205 4,
4206 a_func(4, 5, 5, 6),
4207 8,
4208 9,
4209 10
4210}
4211local y = {
4212 my_func(1, 2, 3, 4, 5),
4213 5,
4214 6,
4215 7
4216}
4217if func(1, 2, 3, "你好", "世界") then
4218 print("你好")
4219 print("我在if内部")
4220end
4221if func(1, 2, 3, "你好", "世界") then
4222 print("hello")
4223 print("我在if内部")
4224end
4225local f1
4226f1 = function(_arg_0)
4227 local a, b, c
4228 a, b, c = _arg_0.a, _arg_0.b, _arg_0.c
4229 return print(a, b, c)
4230end
4231f1({
4232 a = 1,
4233 b = "2",
4234 c = { }
4235})
4236local f2
4237f2 = function(_arg_0, c)
4238 local a1, b
4239 a1, b = _arg_0.a, _arg_0.b
4240 if a1 == nil then
4241 a1 = 123
4242 end
4243 if b == nil then
4244 b = 'abc'
4245 end
4246 if c == nil then
4247 c = { }
4248 end
4249 return print(a1, b, c)
4250end
4251local arg1 = {
4252 a = 0
4253}
4254f2(arg1, arg2)
4255local findFirstEven
4256findFirstEven = function(list)
4257 for _index_0 = 1, #list do
4258 local item = list[_index_0]
4259 if type(item) == "table" then
4260 for _index_1 = 1, #item do
4261 local sub = item[_index_1]
4262 if sub % 2 == 0 then
4263 return sub
4264 end
4265 end
4266 end
4267 end
4268 return nil
4269end
4270local findFirstEven
4271findFirstEven = function(list)
4272 for _index_0 = 1, #list do
4273 local item = list[_index_0]
4274 if type(item) == "table" then
4275 for _index_1 = 1, #item do
4276 local sub = item[_index_1]
4277 if sub % 2 == 0 then
4278 return sub
4279 end
4280 end
4281 end
4282 end
4283 return nil
4284end
4285local f
4286f = function(...)
4287 local t = {
4288 n = select("#", ...),
4289 ...
4290 }
4291 print("参数个数:", t.n)
4292 print("表长度:", #t)
4293 for i = 1, t.n do
4294 print(t[i])
4295 end
4296end
4297f(1, 2, 3)
4298f("a", "b", "c", "d")
4299f()
4300local process
4301process = function(...)
4302 local args = {
4303 n = select("#", ...),
4304 ...
4305 }
4306 local sum = 0
4307 for i = 1, args.n do
4308 if args[i] ~= nil and type(args[i]) == "number" then
4309 sum = sum + args[i]
4310 end
4311 end
4312 return sum
4313end
4314process(1, nil, 3, nil, 5)
4315local my_function
4316my_function = function() end
4317my_function()
4318local func_a
4319func_a = function()
4320 return print("你好,世界")
4321end
4322local func_b
4323func_b = function()
4324 local value = 100
4325 return print("这个值是:", value)
4326end
4327func_a()
4328func_b()
4329local sum
4330sum = function(x, y)
4331 return print("数字的和", x + y)
4332end
4333sum(10, 20)
4334print(sum(10, 20))
4335a(b(c("a", "b", "c")))
4336print("x:", sum(10, 20), "y:", sum(30, 40))
4337local sum
4338sum = function(x, y)
4339 return x + y
4340end
4341print("数字的和是", sum(10, 20))
4342local sum
4343sum = function(x, y)
4344 return x + y
4345end
4346local mystery
4347mystery = function(x, y)
4348 return x + y, x - y
4349end
4350local a, b = mystery(10, 20)
4351local func
4352func = function(self, num)
4353 return self.value + num
4354end
4355local my_function
4356my_function = function(name, height)
4357 if name == nil then
4358 name = "某物"
4359 end
4360 if height == nil then
4361 height = 100
4362 end
4363 print("你好,我是", name)
4364 return print("我的高度是", height)
4365end
4366local some_args
4367some_args = function(x, y)
4368 if x == nil then
4369 x = 100
4370 end
4371 if y == nil then
4372 y = x + 1000
4373 end
4374 return print(x + y)
4375end
4376local a = x - 10
4377local b = x - 10
4378local c = x(-y)
4379local d = x - z
4380local x = func("hello") + 100
4381local y = func("hello" + 100)
4382my_func(5, 4, 3, 8, 9, 10)
4383cool_func(1, 2, 3, 4, 5, 6, 7, 8)
4384my_func(5, 6, 7, 6, another_func(6, 7, 8, 9, 1, 2), 5, 4)
4385local x = {
4386 1,
4387 2,
4388 3,
4389 4,
4390 a_func(4, 5, 5, 6),
4391 8,
4392 9,
4393 10
4394}
4395local y = {
4396 my_func(1, 2, 3, 4, 5),
4397 5,
4398 6,
4399 7
4400}
4401if func(1, 2, 3, "你好", "世界") then
4402 print("你好")
4403 print("我在if内部")
4404end
4405if func(1, 2, 3, "你好", "世界") then
4406 print("你好")
4407 print("我在if内部")
4408end
4409local f1
4410f1 = function(_arg_0)
4411 local a, b, c
4412 a, b, c = _arg_0.a, _arg_0.b, _arg_0.c
4413 return print(a, b, c)
4414end
4415f1({
4416 a = 1,
4417 b = "2",
4418 c = { }
4419})
4420local f2
4421f2 = function(_arg_0, c)
4422 local a1, b
4423 a1, b = _arg_0.a, _arg_0.b
4424 if a1 == nil then
4425 a1 = 123
4426 end
4427 if b == nil then
4428 b = 'abc'
4429 end
4430 if c == nil then
4431 c = { }
4432 end
4433 return print(a1, b, c)
4434end
4435local arg1 = {
4436 a = 0
4437}
4438f2(arg1, arg2)
4439local findFirstEven
4440findFirstEven = function(list)
4441 for _index_0 = 1, #list do
4442 local item = list[_index_0]
4443 if type(item) == "table" then
4444 for _index_1 = 1, #item do
4445 local sub = item[_index_1]
4446 if sub % 2 == 0 then
4447 return sub
4448 end
4449 end
4450 end
4451 end
4452 return nil
4453end
4454local findFirstEven
4455findFirstEven = function(list)
4456 for _index_0 = 1, #list do
4457 local item = list[_index_0]
4458 if type(item) == "table" then
4459 for _index_1 = 1, #item do
4460 local sub = item[_index_1]
4461 if sub % 2 == 0 then
4462 return sub
4463 end
4464 end
4465 end
4466 end
4467 return nil
4468end
4469local f
4470f = function(...)
4471 local t = {
4472 n = select("#", ...),
4473 ...
4474 }
4475 print("参数个数:", t.n)
4476 print("表长度:", #t)
4477 for i = 1, t.n do
4478 print(t[i])
4479 end
4480end
4481f(1, 2, 3)
4482f("a", "b", "c", "d")
4483f()
4484local process
4485process = function(...)
4486 local args = {
4487 n = select("#", ...),
4488 ...
4489 }
4490 local sum = 0
4491 for i = 1, args.n do
4492 if args[i] ~= nil and type(args[i]) == "number" then
4493 sum = sum + args[i]
4494 end
4495 end
4496 return sum
4497end
4498process(1, nil, 3, nil, 5)
4499local a = 1
4500local b = 2
4501print(a + b)
4502Rx.Observable.fromRange(1, 8):filter(function(x)
4503 return x % 2 == 0
4504end):concat(Rx.Observable.of('who do we appreciate')):map(function(value)
4505 return value .. '!'
4506end):subscribe(print)
4507local a = 1
4508local b = 2
4509print(a + b)
4510Rx.Observable.fromRange(1, 8):filter(function(x)
4511 return x % 2 == 0
4512end):concat(Rx.Observable.of('who do we appreciate')):map(function(value)
4513 return value .. '!'
4514end):subscribe(print)
4515local str = strA .. strB .. strC
4516func(3000, "192.168.1.1")
4517local str = strA .. strB .. strC
4518func(3000, "192.168.1.1")
4519local a <const> = 123
4520local _ <close> = setmetatable({ }, {
4521 __close = function()
4522 return print("超出范围。")
4523 end
4524})
4525local a, b, c, d
4526local _obj_0 = tb
4527a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
4528Constant = 123
4529local a <const> = 123
4530local _ <close> = setmetatable({ }, {
4531 __close = function()
4532 return print("超出范围。")
4533 end
4534})
4535local a, b, c, d
4536local _obj_0 = tb
4537a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
4538Constant = 123
4539if tb ~= nil then
4540 tb:func()
4541end
4542if tb ~= nil then
4543 tb:func()
4544end
4545print(1 < 2 and 2 <= 2 and 2 < 3 and 3 == 3 and 3 > 2 and 2 >= 1 and 1 == 1 and 1 < 3 and 3 ~= 5)
4546local a = 5
4547print(1 <= a and a <= 10)
4548local v
4549v = function(x)
4550 print(x)
4551 return x
4552end
4553print((function()
4554 local _cond_0 = v(2)
4555 if not (v(1) < _cond_0) then
4556 return false
4557 else
4558 return _cond_0 <= v(3)
4559 end
4560end)())
4561print((function()
4562 local _cond_0 = v(2)
4563 if not (v(1) > _cond_0) then
4564 return false
4565 else
4566 return _cond_0 <= v(3)
4567 end
4568end)())
4569local tab = { }
4570tab[#tab + 1] = "Value"
4571local tbA = {
4572 1,
4573 2,
4574 3
4575}
4576local tbB = {
4577 4,
4578 5,
4579 6
4580}
4581local _len_0 = #tbA + 1
4582for _index_0 = 1, #tbB do
4583 local _elm_0 = tbB[_index_0]
4584 tbA[_len_0], _len_0 = _elm_0, _len_0 + 1
4585end
4586local parts = {
4587 "shoulders",
4588 "knees"
4589}
4590local lyrics
4591do
4592 local _tab_0 = {
4593 "head"
4594 }
4595 local _idx_0 = 1
4596 for _key_0, _value_0 in pairs(parts) do
4597 if _idx_0 == _key_0 then
4598 _tab_0[#_tab_0 + 1] = _value_0
4599 _idx_0 = _idx_0 + 1
4600 else
4601 _tab_0[_key_0] = _value_0
4602 end
4603 end
4604 _tab_0[#_tab_0 + 1] = "and"
4605 _tab_0[#_tab_0 + 1] = "toes"
4606 lyrics = _tab_0
4607end
4608local copy
4609do
4610 local _tab_0 = { }
4611 local _idx_0 = 1
4612 for _key_0, _value_0 in pairs(other) do
4613 if _idx_0 == _key_0 then
4614 _tab_0[#_tab_0 + 1] = _value_0
4615 _idx_0 = _idx_0 + 1
4616 else
4617 _tab_0[_key_0] = _value_0
4618 end
4619 end
4620 copy = _tab_0
4621end
4622local a = {
4623 1,
4624 2,
4625 3,
4626 x = 1
4627}
4628local b = {
4629 4,
4630 5,
4631 y = 1
4632}
4633local merge
4634local _tab_0 = { }
4635local _idx_0 = 1
4636for _key_0, _value_0 in pairs(a) do
4637 if _idx_0 == _key_0 then
4638 _tab_0[#_tab_0 + 1] = _value_0
4639 _idx_0 = _idx_0 + 1
4640 else
4641 _tab_0[_key_0] = _value_0
4642 end
4643end
4644local _idx_1 = 1
4645for _key_0, _value_0 in pairs(b) do
4646 if _idx_1 == _key_0 then
4647 _tab_0[#_tab_0 + 1] = _value_0
4648 _idx_1 = _idx_1 + 1
4649 else
4650 _tab_0[_key_0] = _value_0
4651 end
4652end
4653merge = _tab_0
4654local last
4655do
4656 local _item_0 = data.items
4657 last = _item_0[#_item_0]
4658end
4659local second_last
4660do
4661 local _item_0 = data.items
4662 second_last = _item_0[#_item_0 - 1]
4663end
4664local _obj_0 = data.items
4665_obj_0[#_obj_0] = 1
4666local mt = { }
4667local add
4668add = function(self, right)
4669 return setmetatable({
4670 value = self.value + right.value
4671 }, mt)
4672end
4673mt.__add = add
4674local a = setmetatable({
4675 value = 1
4676}, mt)
4677local b = setmetatable({
4678 value = 2
4679}, {
4680 __add = add
4681})
4682local c = setmetatable({
4683 value = 3
4684}, {
4685 __add = mt.__add
4686})
4687local d = a + b + c
4688print(d.value)
4689local _ <close> = setmetatable({ }, {
4690 __close = function()
4691 return print("超出范围")
4692 end
4693})
4694local tb = setmetatable({ }, {
4695 ["value"] = 123
4696})
4697getmetatable(tb).__index = getmetatable(tb)
4698print(tb.value)
4699setmetatable(tb, {
4700 __index = {
4701 item = "hello"
4702 }
4703})
4704print(tb.item)
4705local item, new, close, getter
4706do
4707 local _obj_0 = tb
4708 item, new = _obj_0[1], _obj_0.new
4709 do
4710 local _obj_1 = getmetatable(_obj_0)
4711 close, getter = _obj_1.__close, _obj_1.__index
4712 end
4713end
4714print(item, new, close, getter)
4715do
4716 local _obj_0 = func
4717 if _obj_0 ~= nil then
4718 _obj_0()
4719 end
4720end
4721print((function()
4722 local _obj_0 = abc
4723 if _obj_0 ~= nil then
4724 local _obj_1 = _obj_0["你好 世界"]
4725 if _obj_1 ~= nil then
4726 return _obj_1.xyz
4727 end
4728 return nil
4729 end
4730 return nil
4731end)())
4732local x
4733do
4734 local _obj_0 = tab
4735 if _obj_0 ~= nil then
4736 x = _obj_0.value
4737 end
4738end
4739local len = (function()
4740 local _obj_0 = utf8
4741 if _obj_0 ~= nil then
4742 return _obj_0.len
4743 end
4744 return nil
4745end)() or (function()
4746 local _obj_0 = string
4747 if _obj_0 ~= nil then
4748 return _obj_0.len
4749 end
4750 return nil
4751end)() or function(o)
4752 return #o
4753end
4754if print and (x ~= nil) then
4755 print(x)
4756end
4757local _with_0 = io.open("test.txt", "w")
4758if _with_0 ~= nil then
4759 _with_0:write("你好")
4760 _with_0:close()
4761end
4762print("你好")
4763print(1, 2)
4764print(1, 2, 3)
4765print(render(emit(parse(extract(readFile("example.txt"), language, { }), language))))
4766local a, b, c, d
4767if b ~= nil then
4768 a = b
4769else
4770 if c ~= nil then
4771 a = c
4772 else
4773 a = d
4774 end
4775end
4776func((function()
4777 if a ~= nil then
4778 return a
4779 else
4780 return { }
4781 end
4782end)())
4783if a == nil then
4784 a = false
4785end
4786local list = {
4787 1,
4788 2,
4789 3
4790}
4791func({
4792 1,
4793 2,
4794 3
4795})
4796local f
4797f = function()
4798 return {
4799 1,
4800 2,
4801 3
4802 }
4803end
4804local tb = {
4805 name = "abc",
4806 values = {
4807 "a",
4808 "b",
4809 "c"
4810 },
4811 objects = {
4812 {
4813 name = "a",
4814 value = 1,
4815 func = function(self)
4816 return self.value + 1
4817 end,
4818 tb = {
4819 fieldA = 1
4820 }
4821 },
4822 {
4823 name = "b",
4824 value = 2,
4825 func = function(self)
4826 return self.value + 2
4827 end,
4828 tb = { }
4829 }
4830 }
4831}
4832if tb ~= nil then
4833 tb:func()
4834end
4835if tb ~= nil then
4836 tb:func()
4837end
4838print(1 < 2 and 2 <= 2 and 2 < 3 and 3 == 3 and 3 > 2 and 2 >= 1 and 1 == 1 and 1 < 3 and 3 ~= 5)
4839local a = 5
4840print(1 <= a and a <= 10)
4841local v
4842v = function(x)
4843 print(x)
4844 return x
4845end
4846print((function()
4847 local _cond_0 = v(2)
4848 if not (v(1) < _cond_0) then
4849 return false
4850 else
4851 return _cond_0 <= v(3)
4852 end
4853end)())
4854print((function()
4855 local _cond_0 = v(2)
4856 if not (v(1) > _cond_0) then
4857 return false
4858 else
4859 return _cond_0 <= v(3)
4860 end
4861end)())
4862local tab = { }
4863tab[#tab + 1] = "Value"
4864local tbA = {
4865 1,
4866 2,
4867 3
4868}
4869local tbB = {
4870 4,
4871 5,
4872 6
4873}
4874local _len_0 = #tbA + 1
4875for _index_0 = 1, #tbB do
4876 local _elm_0 = tbB[_index_0]
4877 tbA[_len_0], _len_0 = _elm_0, _len_0 + 1
4878end
4879local parts = {
4880 "shoulders",
4881 "knees"
4882}
4883local lyrics
4884do
4885 local _tab_0 = {
4886 "head"
4887 }
4888 local _idx_0 = 1
4889 for _key_0, _value_0 in pairs(parts) do
4890 if _idx_0 == _key_0 then
4891 _tab_0[#_tab_0 + 1] = _value_0
4892 _idx_0 = _idx_0 + 1
4893 else
4894 _tab_0[_key_0] = _value_0
4895 end
4896 end
4897 _tab_0[#_tab_0 + 1] = "and"
4898 _tab_0[#_tab_0 + 1] = "toes"
4899 lyrics = _tab_0
4900end
4901local copy
4902do
4903 local _tab_0 = { }
4904 local _idx_0 = 1
4905 for _key_0, _value_0 in pairs(other) do
4906 if _idx_0 == _key_0 then
4907 _tab_0[#_tab_0 + 1] = _value_0
4908 _idx_0 = _idx_0 + 1
4909 else
4910 _tab_0[_key_0] = _value_0
4911 end
4912 end
4913 copy = _tab_0
4914end
4915local a = {
4916 1,
4917 2,
4918 3,
4919 x = 1
4920}
4921local b = {
4922 4,
4923 5,
4924 y = 1
4925}
4926local merge
4927local _tab_0 = { }
4928local _idx_0 = 1
4929for _key_0, _value_0 in pairs(a) do
4930 if _idx_0 == _key_0 then
4931 _tab_0[#_tab_0 + 1] = _value_0
4932 _idx_0 = _idx_0 + 1
4933 else
4934 _tab_0[_key_0] = _value_0
4935 end
4936end
4937local _idx_1 = 1
4938for _key_0, _value_0 in pairs(b) do
4939 if _idx_1 == _key_0 then
4940 _tab_0[#_tab_0 + 1] = _value_0
4941 _idx_1 = _idx_1 + 1
4942 else
4943 _tab_0[_key_0] = _value_0
4944 end
4945end
4946merge = _tab_0
4947local last
4948do
4949 local _item_0 = data.items
4950 last = _item_0[#_item_0]
4951end
4952local second_last
4953do
4954 local _item_0 = data.items
4955 second_last = _item_0[#_item_0 - 1]
4956end
4957local _obj_0 = data.items
4958_obj_0[#_obj_0] = 1
4959local mt = { }
4960local add
4961add = function(self, right)
4962 return setmetatable({
4963 value = self.value + right.value
4964 }, mt)
4965end
4966mt.__add = add
4967local a = setmetatable({
4968 value = 1
4969}, mt)
4970local b = setmetatable({
4971 value = 2
4972}, {
4973 __add = add
4974})
4975local c = setmetatable({
4976 value = 3
4977}, {
4978 __add = mt.__add
4979})
4980local d = a + b + c
4981print(d.value)
4982local _ <close> = setmetatable({ }, {
4983 __close = function()
4984 return print("超出范围")
4985 end
4986})
4987local tb = setmetatable({ }, {
4988 ["value"] = 123
4989})
4990getmetatable(tb).__index = getmetatable(tb)
4991print(tb.value)
4992setmetatable(tb, {
4993 __index = {
4994 item = "hello"
4995 }
4996})
4997print(tb.item)
4998local item, new, close, getter
4999do
5000 local _obj_0 = tb
5001 item, new = _obj_0[1], _obj_0.new
5002 do
5003 local _obj_1 = getmetatable(_obj_0)
5004 close, getter = _obj_1.__close, _obj_1.__index
5005 end
5006end
5007print(item, new, close, getter)
5008do
5009 local _obj_0 = func
5010 if _obj_0 ~= nil then
5011 _obj_0()
5012 end
5013end
5014print((function()
5015 local _obj_0 = abc
5016 if _obj_0 ~= nil then
5017 local _obj_1 = _obj_0["你好 世界"]
5018 if _obj_1 ~= nil then
5019 return _obj_1.xyz
5020 end
5021 return nil
5022 end
5023 return nil
5024end)())
5025local x
5026do
5027 local _obj_0 = tab
5028 if _obj_0 ~= nil then
5029 x = _obj_0.value
5030 end
5031end
5032local len = (function()
5033 local _obj_0 = utf8
5034 if _obj_0 ~= nil then
5035 return _obj_0.len
5036 end
5037 return nil
5038end)() or (function()
5039 local _obj_0 = string
5040 if _obj_0 ~= nil then
5041 return _obj_0.len
5042 end
5043 return nil
5044end)() or function(o)
5045 return #o
5046end
5047if print and (x ~= nil) then
5048 print(x)
5049end
5050local _with_0 = io.open("test.txt", "w")
5051if _with_0 ~= nil then
5052 _with_0:write("你好")
5053 _with_0:close()
5054end
5055print("你好")
5056print(1, 2)
5057print(1, 2, 3)
5058print(render(emit(parse(extract(readFile("example.txt"), language, { }), language))))
5059local a, b, c, d
5060if b ~= nil then
5061 a = b
5062else
5063 if c ~= nil then
5064 a = c
5065 else
5066 a = d
5067 end
5068end
5069func((function()
5070 if a ~= nil then
5071 return a
5072 else
5073 return { }
5074 end
5075end)())
5076if a == nil then
5077 a = false
5078end
5079local list = {
5080 1,
5081 2,
5082 3
5083}
5084func({
5085 1,
5086 2,
5087 3
5088})
5089local f
5090f = function()
5091 return {
5092 1,
5093 2,
5094 3
5095 }
5096end
5097local tb = {
5098 name = "abc",
5099 values = {
5100 "a",
5101 "b",
5102 "c"
5103 },
5104 objects = {
5105 {
5106 name = "a",
5107 value = 1,
5108 func = function(self)
5109 return self.value + 1
5110 end,
5111 tb = {
5112 fieldA = 1
5113 }
5114 },
5115 {
5116 name = "b",
5117 value = 2,
5118 func = function(self)
5119 return self.value + 2
5120 end,
5121 tb = { }
5122 }
5123 }
5124}
5125local some_string = "这是一个字符串\n 并包括一个换行。"
5126print("我有" .. tostring(math.random() * 100) .. "%的把握。")
5127local integer = 1000000
5128local hex = 0xEFBBBF
5129local binary = 19
5130local str = "key: value\nlist:\n - item1\n - " .. tostring(expr)
5131local fn
5132fn = function()
5133 local str = "foo:\n bar: baz"
5134 return str
5135end
5136local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'"
5137local some_string = "这是一个字符串\n 并包括一个换行。"
5138print("我有" .. tostring(math.random() * 100) .. "%的把握。")
5139local integer = 1000000
5140local hex = 0xEFBBBF
5141local binary = 19
5142local str = "key: value\nlist:\n - item1\n - " .. tostring(expr)
5143local fn
5144fn = function()
5145 local str = "foo:\n bar: baz"
5146 return str
5147end
5148local str = "path: \"C:\\Program Files\\App\"\nnote: 'He said: \"" .. tostring(Hello) .. "!\"'"