Проблема соответствия ETS - PullRequest
1 голос
/ 11 июня 2009

Я учусь ETS. Я сделал:

Sometab = ets:new(sometable, [bag]).
ets:insert(Sometab, {109, ash, 8}).

Тогда я набрал:

ets:match(Sometab, {109, ash, '$1'}).

Однако вместо получения 8 - я получаю: ["\b"] как вывод!

1 Ответ

4 голосов
/ 11 июня 2009

Вы получаете правильный ответ. Однако оболочка erlang печатает [8] как "\b", поскольку код ascii для backspace равен 8.

Erlang не имеет строкового типа. Строки в erlang представлены просто как список целых чисел, а оболочка Erlang выводит этот список в виде строки, если список содержит целые числа только в диапазоне ascii.

Иногда это действительно может сбивать с толку.

...