tuple_object:tomap()
-
object
tuple_object
¶ -
tuple_object:
tomap
([options])¶ В Lua-таблице могут быть индексированные значения, которые также называются пары ключ-значение. Например, здесь:
a = {}; a['field1'] = 10; a['field2'] = 20
a
– это таблица с «field1: 10» и «field2: 20».Функция tuple_object:totable() вернет только таблицу со значениями. А функция
tuple_object:tomap()
вернет таблицу не только со значениями, но и с парами ключ-значение.Это сработает только в том случае, если кортеж приходит из спейса, который был форматирован посредством оператора формата.
Параметры: - options (
table
) – единственный доступный параметр –names_only
. Еслиnames_only
принимает значение false или не указан (по умолчанию), то все поля появятся дважды: сначала с числовыми заголовками, а затем с именными заголовками. Если жеnames_only
= true, то все поля будут выведены один раз с именными заголовками.
возвращает: пары номер-поля:значение и пары ключ:значение из кортежа
тип возвращаемого значения: Lua-таблица
В следующем примере возвращается кортеж с именем
t1
из спейса после форматирования, затем таблицы с именамиt1map
иt1map2
создаются изt1
.format = {{'field1', 'unsigned'}, {'field2', 'unsigned'}} s = box.schema.space.create('test', {format = format}) s:create_index('pk',{parts={1,'unsigned',2,'unsigned'}}) t1 = s:insert{10, 20} t1map = t1:tomap() t1map_names_only = t1:tomap({names_only=true})
t1map
будет содержать «1: 10», «2: 20», «field1: 10», «field2: 20».t1map_names_only
будет содержать «field1: 10» и «field2: 20».- options (
-