Zum Inhalt springen

Modul:Sort: Unterschied zwischen den Versionen

2019-10-29
(2019-10-27)
(2019-10-29)
Zeile 1: Zeile 1:
local Sort = { suite  = "Sort",
local Sort = { suite  = "Sort",
               serial = "2019-10-27",
               serial = "2019-10-29",
               item  = 24205172 }
               item  = 24205172 }
--[=[
--[=[
Zeile 20: Zeile 20:
     -- Postcondition:
     -- Postcondition:
     --    Returns whatever, probably table
     --    Returns whatever, probably table
     -- 2019-10-20
     -- 2019-10-29
     local storage = access
     local storage = access
     local fun, lucky, r
    local finer = function ()
                      if append then
                          storage = string.format( "%s/%s",
                                                  storage,
                                                  append )
                      end
                  end
     local fun, lucky, r, suited
     if advanced then
     if advanced then
         fun = require
         fun = require
Zeile 28: Zeile 35:
         fun = mw.loadData
         fun = mw.loadData
     end
     end
     if append then
    GlobalMod.globalModules = GlobalMod.globalModules or { }
         storage = string.format( "%s/%s", storage, append )
    suited = GlobalMod.globalModules[ access ]
     if not suited then
         finer()
        lucky, r = pcall( fun,  "Module:" .. storage )
     end
     end
    lucky, r = pcall( fun,  "Module:" .. storage )
     if not lucky then
     if not lucky then
        local suited
        GlobalMod.globalModules = GlobalMod.globalModules or { }
        suited = GlobalMod.globalModules[ access ]
         if not suited  and
         if not suited  and
           type( alt ) == "number"  and
           type( alt ) == "number"  and
Zeile 45: Zeile 51:
         if type( suited ) == "string" then
         if type( suited ) == "string" then
             storage = suited
             storage = suited
             if append then
             finer()
                storage = string.format( "%s/%s", storage, append )
            end
             lucky, r = pcall( fun, storage )
             lucky, r = pcall( fun, storage )
         end
         end
Zeile 69: Zeile 73:
     local r = adjust
     local r = adjust
     if adapt  or  not r:match( "^[ -~]*$" ) then
     if adapt  or  not r:match( "^[ -~]*$" ) then
        local storage = string.format( "Module:%s/", Sort.suite )
         local collate, post, pre
         local collate, post, pre
         if apply then
         if apply then
Zeile 104: Zeile 107:
                 collate = tmp
                 collate = tmp
                 for i = 1, n do
                 for i = 1, n do
                     lucky, tmp = pcall( mw.loadData,
                     tmp = foreignModule( Sort.suite,
                                        storage .. variants[ i ] )
                                        false,
                                        variants[ i ],
                                        Sort.item )
                     if type( tmp ) == "table" then
                     if type( tmp ) == "table" then
                         var = tmp.single
                         var = tmp.single
Zeile 135: Zeile 140:
                             end    -- for k, v
                             end    -- for k, v
                         end
                         end
                     elseif lucky then
                     elseif type( tmp ) == "string" then
                         collate = "Invalid table " .. variants[ i ]
                         collate = tmp
                         break    -- for i
                         break    -- for i
                     else
                     else
                         collate = tmp
                         collate = "Invalid table " .. variants[ i ]
                         break    -- for i
                         break    -- for i
                     end
                     end
Zeile 160: Zeile 165:
                         s = " "
                         s = " "
                     end
                     end
                 elseif (k >=   768 and  k <=   866)  or
                 elseif ( k >= 0x0300 and  k <= 0x0362 )  or
                       (k >= 6832 and  k <= 6911)  or
                       ( k >= 0x1AB0 and  k <= 0x1AFF )  or
                       (k >= 7616 and  k <= 7679)  or
                       ( k >= 0x1DC0 and  k <= 0x1DFF )  or
                       (k >= 65056 and  k <= 65071) then
                       ( k >= 0xFE20 and  k <= 0xFE2F ) then
                     -- COMBINING ...
                     -- COMBINING ...
                     s = ""
                     s = ""
Anonymer Benutzer