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

פון המכלול
קפיצה לניווט קפיצה לחיפוש
(שחזור לגרסה 226593 מתאריך 2023-04-20 09:21:33 של מוטי באט בעזרת גאדג'ט פופאפ)
צייכן: מאנועל צוריקשטעל
(אפדעיט)
שורה 39: שורה 39:
     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
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
end
   
   
return p
return p

רעוויזיע פון 06:26, 7 אויגוסט 2023

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


local p = {}

require "mw.ustring"

function p.remove_parents( frame )
     str = frame.args.string
     gsub = mw.ustring.gsub
     
     str=gsub(str, " *[(].*[)]","")
     return str
     
end

function p.only_parents_contents( frame )
     str = frame.args.string
     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.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( frame )
     str = frame.args.string
     return p.remove_linker_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
 
return p