Skip to content

Commit

Permalink
math.sum return
Browse files Browse the repository at this point in the history
  • Loading branch information
Xertis committed Jan 26, 2025
1 parent 089d86d commit 6592684
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 17 deletions.
12 changes: 6 additions & 6 deletions doc/ru/scripting/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,6 @@ table.deep_flat(t: table) -> table

Возвращает глубокую "плоскую" версию исходной таблицы.

```lua
table.sum(t) -> number
```

Возвращает сумму всех элементов, игнорируя пары ключ-значение.

```lua
table.tostring(t: table) -> string
```
Expand Down Expand Up @@ -206,6 +200,12 @@ math.round(num: number, [опционально] places: num) -> number

Возвращает округлённое значение num до указанного количества знаков после запятой places.

```lua
math.sum(x: number, ... | t: table) -> number
```

Возвращает сумму всех принимаемых аргументов. Если в качестве аргумента была передана таблица, метод вернёт сумму всех её элементов.

## Дополнительные глобальные функции

В этом же скрипте также определены и другие глобальные функции которые доступны для использования. Ниже их список
Expand Down
28 changes: 17 additions & 11 deletions res/scripts/stdmin.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,23 @@ function math.round(num, places)
return math.floor(num * mult + 0.5) / mult
end

function math.sum(...)
local numbers = nil
local sum = 0

if type(...) == "table" then
numbers = ...
else
numbers = {...}
end

for _, v in ipairs(numbers) do
sum = sum + v
end

return sum
end

----------------------------------------------

function table.copy(t)
Expand Down Expand Up @@ -179,17 +196,6 @@ function table.deep_flat(t)

return flat
end

function table.sum(t)
local sum = 0

for _, v in ipairs(t) do
sum = sum + v
end

return sum
end

----------------------------------------------

local pattern_escape_replacements = {
Expand Down

0 comments on commit 6592684

Please sign in to comment.