Модуль:Prototypes/Механика/Доступ: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) (Новая страница: «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"...») |
Pok (обсуждение | вклад) мНет описания правки |
||
Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
-- Таблица для перевода слов | |||
local translations = { | |||
["Kitchen"] = "Кухня", | |||
["Theatre"] = "Театр" | |||
} | |||
function p.parse(frame) | function p.parse(frame) | ||
Строка 8: | Строка 14: | ||
end | end | ||
-- | -- Преобразование строки в таблицу 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 "Ошибка: некорректный | 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, | 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