Модуль: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