Версия:

Модуль table

Модуль table

Модуль table включает в себя всё из стандартной библиотеки для работы с таблицами в Lua, а также некоторые расширения специально для Tarantool’а.

Выполнив команду «table», можно увидеть доступные функции:

tarantool> table
 ---
 - maxn: 'function: builtin#90'
   copy: 'function: 0x41e9d300'
   new: 'function: builtin#94'
   clear: 'function: builtin#95'
   move: 'function: 0x41e918e0'
   foreach: 'function: 0x41e91588'
   sort: 'function: builtin#93'
   remove: 'function: 0x41e917c8'
   foreachi: 'function: 0x41e914b8'
   deepcopy: 'function: 0x41e9d2e0'
   getn: 'function: 0x41e91620'
   concat: 'function: builtin#92'
   insert: 'function: builtin#91'
 ...

В данном разделе мы рассматриваем только дополнительную функцию, добавленную разработчиками Tarantool’а: deepcopy.

table.deepcopy(input-table)

Возврат детальной копии таблицы – копии, которая включает в себя вложенные структуры любой глубины и не зависит от указателей, копируется содержимое.

Параметры:
  • input-table – (таблица) таблица для копирования
Возвращается:

копия таблицы

Тип возвращаемого значения:
 

таблица

Пример:

tarantool> input_table = {1,{'a','b'}}
 ---
 ...

 tarantool> output_table = table.deepcopy(input_table)
 ---
 ...

 tarantool> output_table
 ---
 - - 1
   - - a
     - b
 ...