HyunJongSu (토론 | 기여) (새 문서: local p = {} local function _main( args ) local sep = '<br />' local lastsep local t = {} for i, v in ipairs( args ) do table.insert( t, v ) if mw.ustring.match( v, '%S' ) then table.insert( t, sep ) lastsep = #t end end if lastsep then table.remove( t, lastsep ) end return table.concat( t ) end function p.main( frame ) local origArgs if frame == mw.getCurrentFrame() then --...) |
HyunJongSu (토론 | 기여) 잔글 ("모듈:Br separated entries" 문서를 보호했습니다 ([편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한))) |
(차이 없음)
|
2023년 11월 19일 (일) 05:58 기준 최신판
이 모듈에 대한 설명문서는 모듈:Br separated entries/설명문서에서 만들 수 있습니다
local p = {}
local function _main( args )
local sep = '<br />'
local lastsep
local t = {}
for i, v in ipairs( args ) do
table.insert( t, v )
if mw.ustring.match( v, '%S' ) then
table.insert( t, sep )
lastsep = #t
end
end
if lastsep then
table.remove( t, lastsep )
end
return table.concat( t )
end
function p.main( frame )
local origArgs
if frame == mw.getCurrentFrame() then
-- We're being called via #invoke. If the invoking template passed any arguments,
-- use them. Otherwise, use the arguments that were passed into the template.
origArgs = frame:getParent().args
for k, v in pairs( frame.args ) do
origArgs = frame.args
break
end
else
-- We're being called from another module or from the debug console, so assume
-- the arguments are passed in directly.
origArgs = frame
end
-- Use integer args only, and allow for explicit positional arguments
-- that are specified out of order, e.g. {{br separated entries|3=entry3}}.
-- After processing, the args can be accessed accurately from ipairs.
local args = {}
for k, v in pairs( origArgs ) do
if type( k ) == 'number' and k >= 1 and math.floor( k ) == k then
table.insert( args, k )
end
end
table.sort( args )
for i,v in ipairs( args ) do
args[ i ] = origArgs[ v ]
end
return _main( args )
end
return p