@@ -209,6 +209,14 @@ for _key_0, _value_0 in pairs(b) do
209209 end
210210end
211211merge = _tab_0
212+ print ((function ()
213+ local _item_0 = data .items
214+ return _item_0 [# _item_0 ]
215+ end )())
216+ print ((function ()
217+ local _item_0 = data .items
218+ return _item_0 [# _item_0 - 1 ]
219+ end )())
212220local mt = { }
213221local add
214222add = function (self , right )
587595local two , four
588596local _obj_0 = items
589597two , four = _obj_0 [2 ], _obj_0 [4 ]
598+ local orders = {
599+ " first" ,
600+ " second" ,
601+ " third" ,
602+ " fourth" ,
603+ " last"
604+ }
605+ local first , bulk , last = orders [1 ], (function ()
606+ local _accum_0 = { }
607+ local _len_0 = 1
608+ local _max_0 = # orders + - 2 + 1
609+ for _index_0 = 2 , _max_0 do
610+ local _item_0 = orders [_index_0 ]
611+ _accum_0 [_len_0 ] = _item_0
612+ _len_0 = _len_0 + 1
613+ end
614+ return _accum_0
615+ end )(), orders [# orders ]
616+ print (first )
617+ print (bulk )
618+ print (last )
619+ local first , rest
620+ do
621+ local _obj_0 = orders
622+ first , rest = _obj_0 [1 ], (function ()
623+ local _accum_0 = { }
624+ local _len_0 = 1
625+ local _max_0 = # _obj_0
626+ for _index_0 = 2 , _max_0 do
627+ local _item_0 = _obj_0 [_index_0 ]
628+ _accum_0 [_len_0 ] = _item_0
629+ _len_0 = _len_0 + 1
630+ end
631+ return _accum_0
632+ end )()
633+ end
634+ local start , last
635+ do
636+ local _obj_0 = orders
637+ start , last = (function ()
638+ local _accum_0 = { }
639+ local _len_0 = 1
640+ local _max_0 = # _obj_0 + - 2 + 1
641+ for _index_0 = 1 , _max_0 do
642+ local _item_0 = _obj_0 [_index_0 ]
643+ _accum_0 [_len_0 ] = _item_0
644+ _len_0 = _len_0 + 1
645+ end
646+ return _accum_0
647+ end )(), _obj_0 [# _obj_0 ]
648+ end
649+ local _obj_0 = orders
650+ first , last = _obj_0 [1 ], _obj_0 [# _obj_0 ]
590651local tuples = {
591652 {
592653 " hello" ,
@@ -1090,6 +1151,39 @@ for _index_0 = 1, _max_0, 2 do
10901151 _len_0 = _len_0 + 1
10911152end
10921153slice = _accum_0
1154+ local slice
1155+ local _accum_0 = { }
1156+ local _len_0 = 1
1157+ local _list_0 = items
1158+ local _min_0 = # _list_0 + - 4 + 1
1159+ local _max_0 = # _list_0 + - 1 + 1
1160+ for _index_0 = _min_0 , _max_0 do
1161+ local item = _list_0 [_index_0 ]
1162+ _accum_0 [_len_0 ] = item
1163+ _len_0 = _len_0 + 1
1164+ end
1165+ slice = _accum_0
1166+ local reverse_slice
1167+ local _accum_0 = { }
1168+ local _len_0 = 1
1169+ local _list_0 = items
1170+ local _min_0 = # _list_0 + - 1 + 1
1171+ for _index_0 = _min_0 , 1 , - 1 do
1172+ local item = _list_0 [_index_0 ]
1173+ _accum_0 [_len_0 ] = item
1174+ _len_0 = _len_0 + 1
1175+ end
1176+ reverse_slice = _accum_0
1177+ local sub_list
1178+ local _accum_0 = { }
1179+ local _len_0 = 1
1180+ local _list_0 = items
1181+ for _index_0 = 2 , 4 do
1182+ local _item_0 = _list_0 [_index_0 ]
1183+ _accum_0 [_len_0 ] = _item_0
1184+ _len_0 = _len_0 + 1
1185+ end
1186+ sub_list = _accum_0
10931187for i = 10 , 20 do
10941188 print (i )
10951189end
@@ -1541,6 +1635,35 @@ if _tab_0 then
15411635 print (" matched" , fourth )
15421636 end
15431637end
1638+ local segments = {
1639+ " admin" ,
1640+ " users" ,
1641+ " logs" ,
1642+ " view"
1643+ }
1644+ local _type_0 = type (segments )
1645+ local _tab_0 = " table" == _type_0 or " userdata" == _type_0
1646+ if _tab_0 then
1647+ local groups
1648+ do
1649+ local _accum_0 = { }
1650+ local _len_0 = 1
1651+ local _max_0 = # segments + - 3 + 1
1652+ for _index_0 = 1 , _max_0 do
1653+ local _item_0 = segments [_index_0 ]
1654+ _accum_0 [_len_0 ] = _item_0
1655+ _len_0 = _len_0 + 1
1656+ end
1657+ groups = _accum_0
1658+ end
1659+ local resource = segments [# segments - 1 ]
1660+ local action = segments [# segments ]
1661+ if resource ~= nil and action ~= nil then
1662+ print (" Group:" , groups )
1663+ print (" Resource:" , resource )
1664+ print (" Action:" , action )
1665+ end
1666+ end
15441667local Inventory
15451668local _class_0
15461669local _base_0 = {
@@ -2480,6 +2603,14 @@ for _key_0, _value_0 in pairs(b) do
24802603 end
24812604end
24822605merge = _tab_0
2606+ print ((function ()
2607+ local _item_0 = data .items
2608+ return _item_0 [# _item_0 ]
2609+ end )())
2610+ print ((function ()
2611+ local _item_0 = data .items
2612+ return _item_0 [# _item_0 - 1 ]
2613+ end )())
24832614local mt = { }
24842615local add
24852616add = function (self , right )
@@ -2858,6 +2989,59 @@ end
28582989local two , four
28592990local _obj_0 = items
28602991two , four = _obj_0 [2 ], _obj_0 [4 ]
2992+ local orders = {
2993+ " first" ,
2994+ " second" ,
2995+ " third" ,
2996+ " fourth" ,
2997+ " last"
2998+ }
2999+ local first , bulk , last = orders [1 ], (function ()
3000+ local _accum_0 = { }
3001+ local _len_0 = 1
3002+ local _max_0 = # orders + - 2 + 1
3003+ for _index_0 = 2 , _max_0 do
3004+ local _item_0 = orders [_index_0 ]
3005+ _accum_0 [_len_0 ] = _item_0
3006+ _len_0 = _len_0 + 1
3007+ end
3008+ return _accum_0
3009+ end )(), orders [# orders ]
3010+ print (first )
3011+ print (bulk )
3012+ print (last )
3013+ local first , rest
3014+ do
3015+ local _obj_0 = orders
3016+ first , rest = _obj_0 [1 ], (function ()
3017+ local _accum_0 = { }
3018+ local _len_0 = 1
3019+ local _max_0 = # _obj_0
3020+ for _index_0 = 2 , _max_0 do
3021+ local _item_0 = _obj_0 [_index_0 ]
3022+ _accum_0 [_len_0 ] = _item_0
3023+ _len_0 = _len_0 + 1
3024+ end
3025+ return _accum_0
3026+ end )()
3027+ end
3028+ local start , last
3029+ do
3030+ local _obj_0 = orders
3031+ start , last = (function ()
3032+ local _accum_0 = { }
3033+ local _len_0 = 1
3034+ local _max_0 = # _obj_0 + - 2 + 1
3035+ for _index_0 = 1 , _max_0 do
3036+ local _item_0 = _obj_0 [_index_0 ]
3037+ _accum_0 [_len_0 ] = _item_0
3038+ _len_0 = _len_0 + 1
3039+ end
3040+ return _accum_0
3041+ end )(), _obj_0 [# _obj_0 ]
3042+ end
3043+ local _obj_0 = orders
3044+ first , last = _obj_0 [1 ], _obj_0 [# _obj_0 ]
28613045local tuples = {
28623046 {
28633047 " hello" ,
@@ -3360,6 +3544,39 @@ for _index_0 = 1, _max_0, 2 do
33603544 _len_0 = _len_0 + 1
33613545end
33623546slice = _accum_0
3547+ local slice
3548+ local _accum_0 = { }
3549+ local _len_0 = 1
3550+ local _list_0 = items
3551+ local _min_0 = # _list_0 + - 4 + 1
3552+ local _max_0 = # _list_0 + - 1 + 1
3553+ for _index_0 = _min_0 , _max_0 do
3554+ local item = _list_0 [_index_0 ]
3555+ _accum_0 [_len_0 ] = item
3556+ _len_0 = _len_0 + 1
3557+ end
3558+ slice = _accum_0
3559+ local reverse_slice
3560+ local _accum_0 = { }
3561+ local _len_0 = 1
3562+ local _list_0 = items
3563+ local _min_0 = # _list_0 + - 1 + 1
3564+ for _index_0 = _min_0 , 1 , - 1 do
3565+ local item = _list_0 [_index_0 ]
3566+ _accum_0 [_len_0 ] = item
3567+ _len_0 = _len_0 + 1
3568+ end
3569+ reverse_slice = _accum_0
3570+ local sub_list
3571+ local _accum_0 = { }
3572+ local _len_0 = 1
3573+ local _list_0 = items
3574+ for _index_0 = 2 , 4 do
3575+ local _item_0 = _list_0 [_index_0 ]
3576+ _accum_0 [_len_0 ] = _item_0
3577+ _len_0 = _len_0 + 1
3578+ end
3579+ sub_list = _accum_0
33633580for i = 10 , 20 do
33643581 print (i )
33653582end
@@ -3811,6 +4028,35 @@ if _tab_0 then
38114028 print (" matched" , fourth )
38124029 end
38134030end
4031+ local segments = {
4032+ " admin" ,
4033+ " users" ,
4034+ " logs" ,
4035+ " view"
4036+ }
4037+ local _type_0 = type (segments )
4038+ local _tab_0 = " table" == _type_0 or " userdata" == _type_0
4039+ if _tab_0 then
4040+ local groups
4041+ do
4042+ local _accum_0 = { }
4043+ local _len_0 = 1
4044+ local _max_0 = # segments + - 3 + 1
4045+ for _index_0 = 1 , _max_0 do
4046+ local _item_0 = segments [_index_0 ]
4047+ _accum_0 [_len_0 ] = _item_0
4048+ _len_0 = _len_0 + 1
4049+ end
4050+ groups = _accum_0
4051+ end
4052+ local resource = segments [# segments - 1 ]
4053+ local action = segments [# segments ]
4054+ if resource ~= nil and action ~= nil then
4055+ print (" Group:" , groups )
4056+ print (" Resource:" , resource )
4057+ print (" Action:" , action )
4058+ end
4059+ end
38144060local Inventory
38154061local _class_0
38164062local _base_0 = {
0 commit comments