mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 09:26:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
-------------------------------------------------------------------------------
 | 
						|
-- Table Manipulation
 | 
						|
-- This library provides generic functions for table manipulation.
 | 
						|
-- It provides all its functions inside the table table.
 | 
						|
--
 | 
						|
-- Most functions in the table library assume that the table represents an array or a list.
 | 
						|
-- For these functions, when we talk about the "length" of a table we mean the result of the length operator.
 | 
						|
-- @module table
 | 
						|
 | 
						|
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
-- Given an array where all elements are strings or numbers, returns
 | 
						|
-- `table[i]..sep..table[i+1]...sep..table[j]`. The default value for
 | 
						|
-- `sep` is the empty string, the default for `i` is 1, and the default for
 | 
						|
-- `j` is the length of the table. If `i` is greater than `j`, returns the
 | 
						|
-- empty string.
 | 
						|
-- @function [parent=#table] concat
 | 
						|
-- @param #table table table to handle.
 | 
						|
-- @param #string sep the separator, default value is an empty string. 
 | 
						|
-- @param #number i start index, default value is 1.
 | 
						|
-- @param #number j end index, default value is lenght of the table.
 | 
						|
-- @return #string the concatenated table.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
-- Inserts element `value` at position `pos` in `table`, shifting up
 | 
						|
-- other elements to open space, if necessary. The default value for `pos` is
 | 
						|
-- `n+1`, where `n` is the length of the table, so that a call
 | 
						|
-- `table.insert(t,x)` inserts `x` at the end of table `t`.
 | 
						|
-- @function [parent=#table] insert
 | 
						|
-- @param #table table table to modify.
 | 
						|
-- @param #number pos index of insertion.
 | 
						|
-- @param value value to insert.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
-- Returns the largest positive numerical index of the given table, or
 | 
						|
-- zero if the table has no positive numerical indices. (To do its job this
 | 
						|
-- function does a linear traversal of the whole table.)
 | 
						|
-- @function [parent=#table] maxn
 | 
						|
-- @param #table table table to traverse.
 | 
						|
-- @return #number the largest positive numerical index of the given table, or
 | 
						|
-- zero if the table has no positive numerical indices.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
-- Removes from `table` the element at position `pos`, shifting down other
 | 
						|
-- elements to close the space, if necessary. Returns the value of the removed
 | 
						|
-- element. The default value for `pos` is `n`, where `n` is the length of the
 | 
						|
-- table, so that a call `table.remove(t)` removes the last element of table
 | 
						|
-- `t`.
 | 
						|
-- @function [parent=#table] remove
 | 
						|
-- @param #table table table to modify.
 | 
						|
-- @param #number pos index of deletion. (default value is the lenght of the table)
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
-- Sorts table elements in a given order,
 | 
						|
-- *in-place*, from `table[1]` to `table[n]`, where `n` is the length of the
 | 
						|
-- table. If `comp` is given, then it must be a function that receives two
 | 
						|
-- table elements, and returns true when the first is less than the second
 | 
						|
-- (so that `not comp(a[i+1],a[i])` will be true after the sort). Lua operator < is used instead.
 | 
						|
-- 
 | 
						|
-- The sort algorithm is not stable; that is, elements considered equal by the given order may have their relative positions changed by the sort.
 | 
						|
-- @function [parent=#table] sort
 | 
						|
-- @param #table table table to sort.
 | 
						|
-- @param comp a function which take to table and returns true when the first is less than the second.
 | 
						|
 | 
						|
return nil
 |