add table.slice

This commit is contained in:
Xertis 2025-02-01 01:34:11 +03:00
parent 6592684db1
commit 17ce49bdf1
2 changed files with 18 additions and 0 deletions

View File

@ -88,6 +88,12 @@ table.deep_flat(t: table) -> table
Возвращает глубокую "плоскую" версию исходной таблицы. Возвращает глубокую "плоскую" версию исходной таблицы.
```lua
table.slice(arr: table, start: number | nil, stop: number | nil) -> table
```
Возвращает обрезанную версию таблицы с индекса **start** до индекса **stop** включительно, при этом пары ключ-значение не сохраняются в новой таблице. При значениях **nil** начинает с **1** и заканчивает **#arr** соответственно.
```lua ```lua
table.tostring(t: table) -> string table.tostring(t: table) -> string
``` ```

View File

@ -196,6 +196,18 @@ function table.deep_flat(t)
return flat return flat
end end
function table.slice(arr, start, stop)
local sliced = {}
start = start or 1
stop = stop or #arr
for i = start, stop do
table.insert(sliced, arr[i])
end
return sliced
end
---------------------------------------------- ----------------------------------------------
local pattern_escape_replacements = { local pattern_escape_replacements = {