모듈:연습장
- 장기간에 걸쳐 수정이 필요한 경우 별도로 모듈페이지를 만드는 것을 추천합니다.
- 다음 문서가 도움이 될 수 있습니다.
- 다른 이름공간에 대한 연습은 아래에서 가능합니다.
- 낙서장을 비우려면 여기 를 클릭하세요.
위 설명은 모듈:연습장/설명문서의 내용을 가져와 보여주고 있습니다. (편집 | 역사) 이 모듈에 대한 수정 연습과 시험은 연습장 (만들기 | 미러)과 시험장 (만들기)에서 할 수 있습니다. 분류는 /설명문서에 넣어주세요. 이 모듈에 딸린 문서. |
local p = {}
local t = os.time()
local c = os.clock()
function p.getarr(frame)
local values = {}
local index = 0
local keys = frame:callParserFunction('#urlget', frame.args[1] .. '[]', '#null')
local last
if keys == frame:callParserFunction('#urlget', frame.args[1] .. '[]', '#nil') then
keys = mw.text.split(mw.uri.decode(keys), ',%s*')
if pass then
for key in ipairs(keys) do
values[key] = mw.uri.decode(frame:callParserFunction('#urlget', frame.args[1] .. '[' .. key .. ']'))
end
end
end
while true do
last = frame:callParserFunction('#urlget', frame.args[1] .. '[' .. index .. ']', '#null')
if last == frame:callParserFunction('#urlget', frame.args[1] .. '[' .. index .. ']', '#nil') then
last = mw.uri.decode(last)
values[index] = last
elseif index > 0 then
break
end
index = index + 1
end
return mw.text.jsonEncode(values)
end
function p.stack(frame)
local stack = {}
local cur = frame
repeat
table.insert(stack, cur:getTitle())
cur = cur:getParent()
until not cur
return mw.text.jsonEncode(stack)
end
function p.time(frame)
return '[' .. t .. ', ' .. c .. ', ' .. os.time() .. ', ' .. os.clock() .. ']'
end
return p