Вывод содержимого ETS Table Erlang

Я новичок в мире Erlang, поэтому пытаюсь с ним поэкспериментировать.

У меня есть таблица ETS, которая называется числами.

ets:new(numbers,[ordered_set,named_table])

Он имеет формат [{Имя,Число},{Имя,Число}] и т. д.

Мне интересно, есть ли способ вывести содержимое всей таблицы ets?


person Fendec    schedule 12.01.2017    source источник
comment
для этого случая (получить весь контент) ets:tab2list(numbers) выполняет эту работу.   -  person Pascal    schedule 13.01.2017


Ответы (1)


Tl;dr

ты можешь использовать

ets:match_object(Tab, {'$0', '$1'}).

Где Tab — имя вашей таблицы, т. е. numbers.

В глубине:

Второй аргумент — это шаблон сопоставления, оставляющий "свободные переменные" '$0' и '$1'.

Допустим, вы вставили:

> ets:insert(Tab, [{age, 45}, {length, 10}, {height, 45}]). 

Вы можете получить все {_, 45} кортежей с помощью:

> ets:match_object(Tab, {'$0', 45}). 
[{age, 45}, {height, 45}]

Сделав все (в данном случае 2) параметров кортежа свободными переменными, вы сопоставите все в таблице.

Я настоятельно рекомендую прочитать Изучите Erlang для получения дополнительной информации!

person Alex Popov    schedule 12.01.2017