นี่เป็นมอดูลที่ถูกป้องกันถาวรเนื่องจากมีความเสี่ยงสูง กรุณาอภิปรายการเปลี่ยนแปลงใด ๆ ทาง(หน้าคุย) คุณอาจส่งคำขอแก้ไขไปยังเพื่อให้แก้ไขได้หากเป็นการแก้ไขที่ไม่มีการคัดค้านหรือมีความเห็นพ้องสนับสนุน คุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
คุณอาจจะต้องการสร้างคู่มือการใช้งานของนี้ ผู้เขียนสามารถทำการทดลองได้ที่กระบะทราย (สร้าง | คัดลอก) และชุดทดสอบ (สร้าง) ของมอดูลนี้ โปรดเพิ่มหมวดหมู่ไปที่หน้าย่อย |
local p = {} local function _main( args ) local sep = '<br />' local lastsep local t = {} for i, v in ipairs( args ) do table.insert( t, v ) if mw.ustring.match( v, '%S' ) then table.insert( t, sep ) lastsep = #t end end if lastsep then table.remove( t, lastsep ) end return table.concat( t ) end function p.main( frame ) local origArgs if frame == mw.getCurrentFrame() then -- We're being called via #invoke. If the invoking template passed any arguments, -- use them. Otherwise, use the arguments that were passed into the template. origArgs = frame:getParent().args for k, v in pairs( frame.args ) do origArgs = frame.args break end else -- We're being called from another module or from the debug console, so assume -- the arguments are passed in directly. origArgs = frame end -- Use integer args only, and allow for explicit positional arguments -- that are specified out of order, e.g. {{br separated entries|3=entry3}}. -- After processing, the args can be accessed accurately from ipairs. local args = {} for k, v in pairs( origArgs ) do if type( k ) == 'number' and k >= 1 and math.floor( k ) == k then table.insert( args, k ) end end table.sort( args ) for i,v in ipairs( args ) do args[ i ] = origArgs[ v ] end return _main( args ) end return p
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
niepnmxdulthithukpxngknthawrenuxngcakmikhwamesiyngsung krunaxphipraykarepliynaeplngid thanghnakhuy khunxacsngkhakhxaekikh ipyngphuduaelrabbephuxihaekikhidhakepnkaraekikhthiimmikarkhdkhanhruxmikhwamehnphxngsnbsnun khunyngsamarthkhxihelikpxngknhnaidkhumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulni phuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulni oprdephimhmwdhmuipthihnayxy hnayxykhxngmxdulnilocal p local function main args local sep lt br gt local lastsep local t for i v in ipairs args do table insert t v if mw ustring match v S then table insert t sep lastsep t end end if lastsep then table remove t lastsep end return table concat t end function p main frame local origArgs if frame mw getCurrentFrame then We re being called via invoke If the invoking template passed any arguments use them Otherwise use the arguments that were passed into the template origArgs frame getParent args for k v in pairs frame args do origArgs frame args break end else We re being called from another module or from the debug console so assume the arguments are passed in directly origArgs frame end Use integer args only and allow for explicit positional arguments that are specified out of order e g br separated entries 3 entry3 After processing the args can be accessed accurately from ipairs local args for k v in pairs origArgs do if type k number and k gt 1 and math floor k k then table insert args k end end table sort args for i v in ipairs args do args i origArgs v end return main args end return p