יחידה:סוגריים: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
מ (Kotz העביר את הדף יחידה:בלי הסוגריים ל־יחידה:סוגריים בלי להשאיר הפניה: שינוי שם יחידה)
מ (10 גרסאות של הדף wikipedia:he:יחידה:סוגריים יובאו)
 
(3 גרסאות ביניים של 3 משתמשים אינן מוצגות)
שורה 17: שורה 17:
     gsub = mw.ustring.gsub
     gsub = mw.ustring.gsub
      
      
     o=match(str, "%b()$") -- a(b) ==> (b) or nil
     str=p.remove_sq_parents_internal(str)
     if (o == nil) then return "" end
    str=match(str, "%b()$") -- a(b) ==> (b) or nil
     if (str == nil) then return "" end


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


function p.remove_sq_parents( frame )
function p.remove_sq_parents_internal( str )
    str = frame.args.string
     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
function p.remove_sq_parents( frame )
    str = frame.args.string
    return p.remove_sq_parents_internal(str)
      
      
end
end
   
   
return p
return p

גרסה אחרונה מ־12:00, 14 בדצמבר 2020

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


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
 
return p