Модуль:Prototypes/Механика/Доступ: различия между версиями

Материал из Space Station 14 Вики
(Новая страница: «local p = {} function p.parse(frame) -- Получение входных данных local input = frame.args[1] if not input then return "Нет данных для обработки" end -- Декодирование строки JSON в таблицу Lua local success, data = pcall(mw.text.jsonDecode, input) if not success or type(data) ~= "table" then return "Ошибка: некорректный JSON"...»)
 
мНет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}
-- Таблица для перевода слов
local translations = {
    ["Kitchen"] = "Кухня",
    ["Theatre"] = "Театр"
}


function p.parse(frame)
function p.parse(frame)
Строка 8: Строка 14:
     end
     end


     -- Декодирование строки JSON в таблицу Lua
     -- Преобразование строки в таблицу Lua
     local success, data = pcall(mw.text.jsonDecode, input)
     local success, data = pcall(mw.text.jsonDecode, input)
     if not success or type(data) ~= "table" then
     if not success or type(data) ~= "table" then
         return "Ошибка: некорректный JSON"
         return "Ошибка: некорректный формат входных данных"
     end
     end


     -- Создание списка для хранения обработанных значений
     -- Список для хранения переведённых значений
     local result = {}
     local result = {}
     for _, item in ipairs(data) do
     for _, item in ipairs(data) do
         if type(item) == "table" and item[1] then
         if type(item) == "table" and item[1] then
             -- Добавление обработанного значения в список
             -- Замена ID доступов на их название
             table.insert(result, mw.title.new(item[1]):getContent())
            local translated = translations[item[1]] or item[1]
             table.insert(result, translated)
         end
         end
     end
     end


     -- Объединение элементов списка через запятую и возврат результата
     -- Объединение переведённых элементов через запятую
     return table.concat(result, ", ")
     return table.concat(result, ", ")
end
end


return p
return p

Версия от 17:26, 16 января 2025

Для документации этого модуля может быть создана страница Модуль:Prototypes/Механика/Доступ/doc

local p = {}

-- Таблица для перевода слов
local translations = {
    ["Kitchen"] = "Кухня",
    ["Theatre"] = "Театр"
}

function p.parse(frame)
    -- Получение входных данных
    local input = frame.args[1]
    if not input then
        return "Нет данных для обработки"
    end

    -- Преобразование строки в таблицу Lua
    local success, data = pcall(mw.text.jsonDecode, input)
    if not success or type(data) ~= "table" then
        return "Ошибка: некорректный формат входных данных"
    end

    -- Список для хранения переведённых значений
    local result = {}
    for _, item in ipairs(data) do
        if type(item) == "table" and item[1] then
            -- Замена ID доступов на их название
            local translated = translations[item[1]] or item[1]
            table.insert(result, translated)
        end
    end

    -- Объединение переведённых элементов через запятую
    return table.concat(result, ", ")
end

return p