Модуль:String/split
Перейти к навигации
Перейти к поиску
Для документации этого модуля может быть создана страница Модуль:String/split/doc
local str = {} function str.split( frame ) local ret = '' local s = frame.args[1] or ''; if s == '' then return end local o = frame.args['o'] or '%'; local l = frame.args['l'] or ''; local t = frame.args['t'] or ''; local r = frame.args['r'] or ''; local m = tonumber(frame.args['m']) or 1000; local n = frame.args['nodis'] or '0'; if l ~= '' then ret = '<ul>' o = '<li>' .. o .. r .. '</li>' else o = o .. r end local i = 0 local iterator = mw.ustring.gmatch(s, "[^/]+"); for w in iterator do if t ~= '' then local args = {} args[1] = w ret = ret .. mw.ustring.gsub( o, '%%', frame:expandTemplate{ title = t, args = args } ) else if n == '1' then w = w .. '|' .. mw.ustring.gsub( w, '%s?%(.*%)$', '' ) end w = mw.ustring.gsub( o, '%%', w ) ret = ret .. w end i = i + 1 if i == m then break end end if l ~= '' then ret = mw.ustring.gsub( ret, r .. '</li>$', '</li>' ) ret = ret .. '</ul>' else ret = mw.ustring.gsub( ret, r .. '$', '' ) end return ret end function str.lang( frame ) local red = '[[К:Википедия:Страницы с ошибками в национальном названии]]<span style="color: red;">В параметре «Национальное название» нарушен синтаксис: [[:К:Википедия:Страницы с ошибками в национальном названии|его верное заполнение]]: «код языка/название/код второго языка/название». Пожалуйста, исправьте данную ошибку!</span>' local s = frame.args[1] or ''; if s == '' then return end local listLang = require('Module:Languages').list local i = 1 local args = {} local iterator = mw.ustring.gmatch(s, "[^/]+"); for w in iterator do args[i] = w i = i + 1 end if i % 2 == 0 or mw.ustring.match( s, '[\]\[\<\>\127]' ) then return red end frame.args = args return listLang(frame) end function str.reflang( frame ) local s = frame.args[1] or ''; local v = frame.args[2] or false; if s == '' then return end local args = {} local iterator = mw.ustring.gmatch(s, "[^/]+"); for w in iterator do table.insert(args, w) end if #args == 0 then return end if v then args['в'] = 'в' end local listRef = require('Module:Languages').list_ref frame.args = args return listRef(frame) end return str