RU/PairsByKeys: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "__NOTOC__ {{RU/Useful Function}} <lowercasetitle></lowercasetitle> Эта функция сортирует pairs таблицу. ==Синтаксис== <syntaxhighlight lang...")
 
(Mentioning author names on script examples isn't adopted practise on the MTA wiki, thanks for understanding)
 
(8 intermediate revisions by 2 users not shown)
Line 14: Line 14:


==Код==
==Код==
<section name="Server- and/or clientside Script" class="both" show="true">
<section name="Для сервера и клиента" class="both" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function pairsByKeys (t)
function pairsByKeys(t)
local a = {}
    local a = {}
for n in pairs(t) do table.insert(a, n) end
    for n in pairs(t) do
table.sort(a, f)
        table.insert(a, n)
local i = 0
    end
local iter = function ()
    table.sort(a, f)
i = i + 1
    local i = 0
if a[i] == nil then  
    local iter = function()
return nil
        i = i + 1
else  
        if a[i] == nil then
return a[i], t[a[i]]
            return nil
end
        else
end
            return a[i], t[a[i]]
return iter
        end
    end
    return iter
end
end
</syntaxhighlight>
</syntaxhighlight>
Line 35: Line 37:


==Пример==
==Пример==
<section name="Server- and/or clientside Script" class="both" show="true">
<section name="Для сервера и клиента" class="both" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local t = {
local t = {
  ["LS0911ZO"] = {},
    ["LS0911ZO"] = {},
  ["LS00P3A2"] = {},
    ["LS00P3A2"] = {},
  ["LS00P3Z9"] = {},
    ["LS00P3Z9"] = {}
}
}


for num, v in pairsByKeys (t) do
for num, v in pairsByKeys(t) do
  print (num)
    print(num)
end
end


-- Выведет
-- ouput
-- LS00P3A2
-- LS00P3A2
-- LS00P3Z9
-- LS00P3Z9
Line 54: Line 56:
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
Автор: Alex7202


==Смотрите также==
==Смотрите также==
{{Useful_Functions}}
{{RU/Useful_Functions}}


[[en:pairsByKeys]]
[[en:pairsByKeys]]

Latest revision as of 22:12, 12 December 2020

Эта функция сортирует pairs таблицу.

Синтаксис

table pairsByKeys(tbl)

Аргументы

  • tbl: Таблица которую надо отсортировать.

Возврат

Возвращает отсортированную таблицу.

Код

Click to collapse [-]
Для сервера и клиента
function pairsByKeys(t)
    local a = {}
    for n in pairs(t) do
        table.insert(a, n)
    end
    table.sort(a, f)
    local i = 0
    local iter = function()
        i = i + 1
        if a[i] == nil then
            return nil
        else
            return a[i], t[a[i]]
        end
    end
    return iter
end

Пример

Click to collapse [-]
Для сервера и клиента
local t = {
    ["LS0911ZO"] = {},
    ["LS00P3A2"] = {},
    ["LS00P3Z9"] = {}
}

for num, v in pairsByKeys(t) do
    print(num)
end

-- ouput
-- LS00P3A2
-- LS00P3Z9
-- LS0911ZO

Смотрите также

Функции таблиц

  • pairsByKeys » Эта функция сортирует pairs таблицы.

ACL фунции

  • aclGroupClone » Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.

События

  • isEventHandlerAdded » Эта функция проверяет, создано событие или нет.

Функции машины

  • getVehicleRPM » Эта функция получает кол-во оборотов машины.