אונטערשייד צווישן ווערסיעס פון "יחידה:קלאמערן"

פון המכלול
קפיצה לניווט קפיצה לחיפוש
(אפדעיט)
(אפדעיט)
שורה 2: שורה 2:


require "mw.ustring"
require "mw.ustring"
function p.remove_parents_internal( str )
    gsub = mw.ustring.gsub
   
    str=gsub(str, " *[(].*[)]","")
    return str
end


function p.remove_parents( frame )
function p.remove_parents( frame )
    str = frame.args.string
    str = frame.args.string
    gsub = mw.ustring.gsub
    return p.remove_parents_internal(str)
   
end
    str=gsub(str, " *[(].*[)]","")
 
    return str
function p.only_parents_contents_internal( str )
   
    match = mw.ustring.match
    gsub = mw.ustring.gsub
   
    str=p.remove_sq_parents_internal(str)
    str=match(str, "%b()$") -- a(b) ==> (b) or nil
    if (str == nil) then return "" end
 
    str=gsub(str,"^%((.*)%)$", "%1") -- (b) ==> b
    return str
end
end


function p.only_parents_contents( frame )
function p.only_parents_contents( frame )
    str = frame.args.string
    str = frame.args.string
    match = mw.ustring.match
    return p.only_parents_contents_internal(str)
    gsub = mw.ustring.gsub
   
    str=p.remove_sq_parents_internal(str)
    str=match(str, "%b()$") -- a(b) ==> (b) or nil
    if (str == nil) then return "" end
 
    str=gsub(str,"^%((.*)%)$", "%1") -- (b) ==> b
    return str
   
end
end


function p.remove_sq_parents_internal( str )
function p.remove_sq_parents_internal( str )
    gsub = mw.ustring.gsub
    gsub = mw.ustring.gsub
   
   
    str=gsub(str, "^%[%[(.*)%|.*%]%]$","%1") -- [[x|y]] ==> x
    str=gsub(str, "^%[%[(.*)%|.*%]%]$","%1") -- [[x|y]] ==> x
    str=gsub(str, "^%[%[(.*)%]%]$","%1") -- [[x]] ==> x
    str=gsub(str, "^%[%[(.*)%]%]$","%1") -- [[x]] ==> x
    return str
    return str
   
end
end


function p.remove_sq_parents( frame )
function p.remove_sq_parents( frame )
    str = frame.args.string
    str = frame.args.string
    return p.remove_sq_parents_internal(str)
    return p.remove_sq_parents_internal(str)
   
end
 
function p.remove_linker( frame )
    str = frame.args.string
    return p.remove_linker_internal(str)
end
end


שורה 51: שורה 50:
     local y = gsub(str, "^%[%[.*|(.*)%]%]$", "%1") -- [[x|y]] ==> y
     local y = gsub(str, "^%[%[.*|(.*)%]%]$", "%1") -- [[x|y]] ==> y
     if y ~= str then
     if y ~= str then
        return y
    return y
     end
     end


שורה 57: שורה 56:
     return x
     return x
end
end
 
function p.remove_linker( frame )
    str = frame.args.string
    return p.remove_linker_internal(str)
end
 
return p
return p

רעוויזיע פון 05:55, 28 אויגוסט 2023

הקוד ביחידה זו משמש לתבניות הבאות:


local p = {}

require "mw.ustring"

function p.remove_parents_internal( str )
    gsub = mw.ustring.gsub
    
    str=gsub(str, " *[(].*[)]","")
    return str
end

function p.remove_parents( frame )
    str = frame.args.string
    return p.remove_parents_internal(str)
end

function p.only_parents_contents_internal( str )
    match = mw.ustring.match
    gsub = mw.ustring.gsub
    
    str=p.remove_sq_parents_internal(str)
    str=match(str, "%b()$") -- a(b) ==> (b) or nil
    if (str == nil) then return "" end

    str=gsub(str,"^%((.*)%)$", "%1") -- (b) ==> b
    return str
end

function p.only_parents_contents( frame )
    str = frame.args.string
    return p.only_parents_contents_internal(str)
end

function p.remove_sq_parents_internal( str )
    gsub = mw.ustring.gsub
    
    str=gsub(str, "^%[%[(.*)%|.*%]%]$","%1") -- [[x|y]] ==> x
    str=gsub(str, "^%[%[(.*)%]%]$","%1") -- [[x]] ==> x
    return str
end

function p.remove_sq_parents( frame )
    str = frame.args.string
    return p.remove_sq_parents_internal(str)
end

function p.remove_linker_internal( str )
    gsub = mw.ustring.gsub

    local y = gsub(str, "^%[%[.*|(.*)%]%]$", "%1") -- [[x|y]] ==> y
    if y ~= str then
    	return y
    end

    local x = gsub(str, "^%[%[(.*)%]%]$", "%1") -- [[x]] ==> x
    return x
end

function p.remove_linker( frame )
    str = frame.args.string
    return p.remove_linker_internal(str)
end

return p