aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/codes_from_doc_zh.lua
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2025-05-21 11:44:54 +0800
committerLi Jin <dragon-fly@qq.com>2025-05-21 11:44:54 +0800
commit0603800a4114ed8b4c9572a7d7852995c9b9f334 (patch)
tree456524685562bcd0d874530e3ddc2a0fc0731525 /spec/outputs/codes_from_doc_zh.lua
parentff137ac73d999a5849f02706cfd52f4659b025ef (diff)
downloadyuescript-0603800a4114ed8b4c9572a7d7852995c9b9f334.tar.gz
yuescript-0603800a4114ed8b4c9572a7d7852995c9b9f334.tar.bz2
yuescript-0603800a4114ed8b4c9572a7d7852995c9b9f334.zip
Added break with value syntax.
Diffstat (limited to 'spec/outputs/codes_from_doc_zh.lua')
-rw-r--r--spec/outputs/codes_from_doc_zh.lua60
1 files changed, 58 insertions, 2 deletions
diff --git a/spec/outputs/codes_from_doc_zh.lua b/spec/outputs/codes_from_doc_zh.lua
index d9cc4dc..2457c52 100644
--- a/spec/outputs/codes_from_doc_zh.lua
+++ b/spec/outputs/codes_from_doc_zh.lua
@@ -20,6 +20,38 @@ local inventory = {
20 } 20 }
21 } 21 }
22} 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
32 return _accum_0
33end
34local filter
35filter = function(arr, cond)
36 local _accum_0 = { }
37 local _len_0 = 1
38 for _index_0 = 1, #arr do
39 local item = arr[_index_0]
40 if cond(item) then
41 _accum_0[_len_0] = item
42 _len_0 = _len_0 + 1
43 end
44 end
45 return _accum_0
46end
47local reduce
48reduce = function(arr, init, action)
49 for _index_0 = 1, #arr do
50 local item = arr[_index_0]
51 init = action(init, item)
52 end
53 return init
54end
23print(reduce(filter(map({ 55print(reduce(filter(map({
24 1, 56 1,
25 2, 57 2,
@@ -1020,12 +1052,24 @@ local _len_0 = 1
1020for i = 1, 20 do 1052for i = 1, 20 do
1021 if i % 2 == 0 then 1053 if i % 2 == 0 then
1022 _accum_0[_len_0] = i * 2 1054 _accum_0[_len_0] = i * 2
1055 _len_0 = _len_0 + 1
1023 else 1056 else
1024 _accum_0[_len_0] = i 1057 _accum_0[_len_0] = i
1058 _len_0 = _len_0 + 1
1025 end 1059 end
1026 _len_0 = _len_0 + 1
1027end 1060end
1028doubled_evens = _accum_0 1061doubled_evens = _accum_0
1062local first_large
1063local _accum_0
1064local _list_0 = numbers
1065for _index_0 = 1, #_list_0 do
1066 local n = _list_0[_index_0]
1067 if n > 10 then
1068 _accum_0 = n
1069 break
1070 end
1071end
1072first_large = _accum_0
1029local func_a 1073local func_a
1030func_a = function() 1074func_a = function()
1031 for i = 1, 10 do 1075 for i = 1, 10 do
@@ -3177,12 +3221,24 @@ local _len_0 = 1
3177for i = 1, 20 do 3221for i = 1, 20 do
3178 if i % 2 == 0 then 3222 if i % 2 == 0 then
3179 _accum_0[_len_0] = i * 2 3223 _accum_0[_len_0] = i * 2
3224 _len_0 = _len_0 + 1
3180 else 3225 else
3181 _accum_0[_len_0] = i 3226 _accum_0[_len_0] = i
3227 _len_0 = _len_0 + 1
3182 end 3228 end
3183 _len_0 = _len_0 + 1
3184end 3229end
3185doubled_evens = _accum_0 3230doubled_evens = _accum_0
3231local first_large
3232local _accum_0
3233local _list_0 = numbers
3234for _index_0 = 1, #_list_0 do
3235 local n = _list_0[_index_0]
3236 if n > 10 then
3237 _accum_0 = n
3238 break
3239 end
3240end
3241first_large = _accum_0
3186local func_a 3242local func_a
3187func_a = function() 3243func_a = function()
3188 for i = 1, 10 do 3244 for i = 1, 10 do