"ماڈیول:TableTools" کے نسخوں کے درمیان فرق

م grammar
add a fancy introductory comment
سطر 1: سطر 1:
-- This module includes a number of functions that can be useful when dealing with Lua tables.
--[[
------------------------------------------------------------------------------------
--                              TableTools                                      --
--                                                                                --
-- This module includes a number of functions for dealing with Lua tables.       --
-- It is a meta-module, meant to be called from other Lua modules, and should    --
-- not be called directly from #invoke.                                          --
------------------------------------------------------------------------------------
--]]


local p = {}
local p = {}
سطر 8: سطر 16:


--[[
--[[
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
-- isPositiveInteger
-- isPositiveInteger
--
--
سطر 15: سطر 23:
-- useful for determining whether a given table key is in the array part or the
-- useful for determining whether a given table key is in the array part or the
-- hash part of a table.
-- hash part of a table.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
--]]
--]]
function p.isPositiveInteger(num)
function p.isPositiveInteger(num)
سطر 26: سطر 34:


--[[
--[[
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
-- getNumKeys
-- getNumKeys
--
--
-- This takes a table and returns an array containing the numbers of any numerical
-- This takes a table and returns an array containing the numbers of any numerical
-- keys that have non-nil values, sorted in numerical order.
-- keys that have non-nil values, sorted in numerical order.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
--]]
--]]
function p.getNumKeys(t)
function p.getNumKeys(t)
سطر 46: سطر 54:


--[[
--[[
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
-- getAffixNums
-- getAffixNums
--
--
سطر 53: سطر 61:
-- {a1 = 'foo', a3 = 'bar', a6 = 'baz'} and the prefix "a", getAffixNums will
-- {a1 = 'foo', a3 = 'bar', a6 = 'baz'} and the prefix "a", getAffixNums will
-- return {1, 3, 6}.
-- return {1, 3, 6}.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
--]]
--]]
function p.getAffixNums(t, prefix, suffix)
function p.getAffixNums(t, prefix, suffix)
سطر 72: سطر 80:


--[[
--[[
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
-- compressSparseArray
-- compressSparseArray
--
--
سطر 78: سطر 86:
-- while preserving the order, so that the array can be safely traversed with
-- while preserving the order, so that the array can be safely traversed with
-- ipairs.
-- ipairs.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
--]]
--]]
function p.compressSparseArray(t)
function p.compressSparseArray(t)
سطر 91: سطر 99:


--[[
--[[
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
-- sparseIpairs
-- sparseIpairs
--
--
-- This is an iterator for sparse arrays. It can be used like ipairs, but can
-- This is an iterator for sparse arrays. It can be used like ipairs, but can
-- handle nil values.
-- handle nil values.
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
--]]
--]]
function p.sparseIpairs(t)
function p.sparseIpairs(t)