З В?к?педы?, свабоднай энцыклапеды?
Модуль дазваляе ? в?к?тэксце чытаць значэнн? з модуля? даных.
{{#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
)