Library tableaux
Auxiliary functions for table manipulation
Author:
Copyright © Same as Nmap--See https://nmap.org/book/man-legal.html
Source: https://svn.nmap.org/nmap/nselib/tableaux.lua
Functions
- contains (t, item, array)
Check for the presence of a value in a table
- invert (t)
Invert a one-to-one mapping
- keys (t)
Returns the raw keys of a table as an array
- shallow_tcopy (t)
Copy one level of a table.
- tcopy (t)
Recursively copy a table.
Functions
- contains (t, item, array)
-
Check for the presence of a value in a table
Parameters
- t
- the table to search into
- item
- the searched value
- array
- (optional) If true, then use ipairs to only search the array indices of the table.
Return values:
- Boolean true if the item was found, false if not
- The index or key where the value was found, or nil
- invert (t)
-
Invert a one-to-one mapping
Parameters
- t
- the table to invert
Return value:
an inverted mapping - keys (t)
-
Returns the raw keys of a table as an array
Parameters
- t
- The table
Return value:
A table of keys - shallow_tcopy (t)
-
Copy one level of a table.
Iterates over the keys of a table and copies their values into a new table. If any values are tables, they are copied by reference only, and modifying the copy will modify the original table value as well. The keys are iterated over with next(), not pairs(), resulting in a "raw" copy of the input.
Parameters
- t
- the table to copy
Return value:
a shallow copy of the table - tcopy (t)
-
Recursively copy a table.
Uses simple assignment to copy keys and values from a table, recursing into subtables as necessary. The keys are iterated over with next(), not pairs(), resulting in a "raw" copy of the input.
Parameters
- t
- the table to copy
Return value:
a deep copy of the table
