{{i}} Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]

Повернутися до інкубатора.

Документація ред.

Виклик модуля: {{#invoke: Пісочниця/Jarozwj/HelloWorld | hello}}.

Результат:

  • Hello, World!.
  • Hello, Jarozwj!.
  • Детальніше:
  • Детальніше: 1
  • Детальніше: 1 та 2
  • Детальніше: 1, 2, ok, 4 та 5
local p = {}

p.hello = function(frame)
	local name = frame.args[1]
	
	if name then
		return "Hello, " .. name .. "!"
	end	
	
	return "Hello, World!"
end


function p.concat(args)
    local args_count = #args
    
    if args_count == 0 then
        return ""
    end

    if args_count == 1 then
        return args[1]:gsub("%s+", "")
    end
    
    a = {}
    for k, v in pairs(args) do
    	a[k] = v:gsub("%s+", "")
    end
    
    return table.concat(a, ", ", 1, args_count-1) .. " та " .. a[args_count] 
end

function p.to_refs(args)
    local ref_table = {}
    
    for k, v in ipairs(args) do
        local label = args["l"..k] 
        if not label or label == "" or v == label then
            ref_table[k] = "[[" .. v .. "]]"
        else
            ref_table[k] = "[[" .. v .. "|" .. label .. "]]"
        end
    end    
    
    return ref_table    
end

function p.refmain(frame)
    return "<div class=\"noprint\">''Детальніше: " .. p.concat(p.to_refs(frame.args)) .. "''</div>"
end

return p