Module:Rail-interchange multi

local p = {}

function p.row(frame) local data = frame.args[1] local div = frame.args['div'] local result, sep, default = ,  local args = {} data = mw.text.split(data, '+') for i1, v1 in ipairs(data) do		args = {} if v1 ~= '' and v1 ~= '\\' then local tmp = mw.text.split(v1, '\\') if i1 == 1 then default = tmp[1] else sep = ' ' end for i2, v2 in ipairs(tmp) do				if i2 < 5 then if i2 == 1 then args[i2] = (string.find((v2 or ''), '^%s*$') and default or v2) else args[i2] = (string.find((v2 or ''), '^%s*$') and nil or v2) end end end if args[1] or args[2] then result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = args } end end end if div == 'yes' or div == 'y' then result = ' ' .. result .. ' ' end return result end

function p.doublerow(frame) local data = frame.args[1] local result, sep, default = ,  local args = {} local sep_code = { [0] = ' ',		[1] = ' '	}	data = mw.text.split(data, '+') for i1, v1 in ipairs(data) do		args = {} if v1 ~= '' and v1 ~= '\\' then local tmp = mw.text.split(v1, '\\') if i1 == 1 then default = tmp[1] else sep = sep_code[i1 % 2] end for i2, v2 in ipairs(tmp) do				if i2 < 5 then if i2 == 1 then args[i2] = (string.find((v2 or ''), '^%s*$') and default or v2) else args[i2] = (string.find((v2 or ''), '^%s*$') and nil or v2) end end end if args[1] or args[2] then result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = args } end end end result = ' ' .. result .. ' '	return result end

return p