(i) Дакументацыя

Модуль дазваляе ў вікітэксце чытаць значэнні з модуляў даных.

Ужыванне

{{#invoke:Data|Модуль:НазваМодуля|ключ1|ключ2|ключ3|...}}

Чытае значэнне ключ1.ключ2.ключ3 з Модуль:НазваМодуля.

Каб пазбегнуць паломак старонак, дзе ўжыты гэты модуль, пажадана эксперыментаваць у пясочніцы для модуляў.


local mt = {}

function mt.__index(t, k)
	return function(frame)
		local data = mw.loadData(k)
		local i = 1
		for _,v in ipairs(frame.args) do
			local ty = type(data)
			if ty ~= 'table' then
				local args = {}
				for j = 1, i - 1 do
					args[j] = frame.args[j]
				end
				if frame.args.softfail then
					return '<span class="error">[[Катэгорыя:Старонкі з памылкамі падстаноўкі модуля Data]]Памылка: Узяцце індэкса "' .. mw.text.nowiki(v) .. '" ад mw.loadData("' .. mw.text.nowiki(k) .. '").' .. mw.text.nowiki(table.concat(args, '.')) .. ' тыпу ' .. ty .. '</span>'
				else
					error('Узяцце індэкса "' .. v .. '" ад mw.loadData("' .. k .. '").' .. table.concat(args, '.') .. ' тыпу ' .. ty)
				end
			end
			data = data[v]
			i = i + 1
		end
		return data
	end
end

return setmetatable({}, mt)