Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Модуль:Variables

Материал из wiki.iccup.org

Оболочка для расширения VariablesLua, предоставляет дополнительные утилиты.

API[править код]

Программное имя: Variables


varDefine (name: string, value: any) → void

Определяет переменную с указанным именем и значением




varDefault (name: string, default: any) → any

Возвращает значение переменной по имени name, или возвращает значение по умолчанию, если переменная не была определена (или равна nil)




varDefaultMulti (...: strings) → any

Возвращает первую существующую переменную из списка, или возвращает имя последней переменной, если таковых не существует




Посмотрите всю нашу документацию iCCup здесь.



local Class = require('Module:Class')

local Variables = {}

---Stores a wiki-variable and returns the empty string
---@param name wikiVariableKey Key of the wiki-variable
---@param value wikiVariableValue Value of the wiki-variable
---@return string #always the empty string
function Variables.varDefine(name, value)
	return mw.ext.VariablesLua.vardefine(name, value)  -- Убедитесь, что iCCup поддерживает эту функцию
end

---Stores a wiki-variable and returns the stored value
---@param name wikiVariableKey Key of the wiki-variable
---@param value wikiVariableValue Value of the wiki-variable
---@return string
function Variables.varDefineEcho(name, value)
	return mw.ext.VariablesLua.vardefineecho(name, value)  -- Убедитесь, что iCCup поддерживает эту функцию
end

---Gets the stored value of a wiki-variable
---@generic T
---@param name wikiVariableKey Key of the wiki-variable
---@param default T fallback value if wiki-variable is not defined
---@return string|T
---@overload fun(name: wikiVariableKey):string?
function Variables.varDefault(name, default)
	local val = mw.ext.VariablesLua.var(name)  -- Убедитесь, что iCCup поддерживает эту функцию
	return (val ~= '' and val ~= nil) and val or default
end

---
---@param ... wikiVariableKey wiki-variable keys
---@return string
function Variables.varDefaultMulti(...)
	--pack varargs
	local varargs = { n = select('#', ...), ... }

	for i = 1, varargs.n do
		local val = Variables.varDefault(varargs[i])
		if val then
			return val
		end
	end

	-- If even the last var didn't bring anything return the last argument
	return varargs[varargs.n]
end

---@param name wikiVariableKey Key of the wiki-variable
---@return boolean
function Variables.varExists(name)
	return Variables.varDefault(name) ~= nil
end

return Class.export(Variables, {removeBlanks = false})
Содержание