모듈:연습장: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
imported>Hsl0 편집 요약 없음 |
imported>Hsl0 편집 요약 없음 |
||
4번째 줄: | 4번째 줄: | ||
local c = os.clock() | local c = os.clock() | ||
function p. | 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.uri.decode(keys) | |||
local pass, json = pcall(mw.text.jsonDecode, keys) | |||
if pass then | |||
for key in pairs(json) 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 | end | ||
23번째 줄: | 53번째 줄: | ||
return '[' .. t .. ', ' .. c .. ', ' .. os.time() .. ', ' .. os.clock() .. ']' | return '[' .. t .. ', ' .. c .. ', ' .. os.time() .. ', ' .. os.clock() .. ']' | ||
end | end | ||
return p | return p |
2022년 6월 13일 (월) 05:58 판
- 장기간에 걸쳐 수정이 필요한 경우 별도로 모듈페이지를 만드는 것을 추천합니다.
- 다음 문서가 도움이 될 수 있습니다.
- 다른 이름공간에 대한 연습은 아래에서 가능합니다.
- 낙서장을 비우려면 여기 를 클릭하세요.
위 설명은 모듈:연습장/설명문서의 내용을 가져와 보여주고 있습니다. (편집 | 역사) 이 모듈에 대한 수정 연습과 시험은 연습장 (만들기 | 미러)과 시험장 (만들기)에서 할 수 있습니다. 분류는 /설명문서에 넣어주세요. 이 모듈에 딸린 문서. |
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.uri.decode(keys)
local pass, json = pcall(mw.text.jsonDecode, keys)
if pass then
for key in pairs(json) 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