【发布时间】:2010-11-02 03:13:09
【问题描述】:
我正在学习 ETS。我做到了:
Sometab = ets:new(sometable, [bag]).
ets:insert(Sometab, {109, ash, 8}).
然后我输入:
ets:match(Sometab, {109, ash, '$1'}).
但是,我没有得到8,而是得到:["\b"] 作为输出!
【问题讨论】:
我正在学习 ETS。我做到了:
Sometab = ets:new(sometable, [bag]).
ets:insert(Sometab, {109, ash, 8}).
然后我输入:
ets:match(Sometab, {109, ash, '$1'}).
但是,我没有得到8,而是得到:["\b"] 作为输出!
【问题讨论】:
你得到了正确的答案。但是,erlang shell 将[8] 打印为"\b",因为backspace 的ASCII 码是8。
Erlang 没有字符串类型。 erlang 中的字符串仅表示为整数列表,如果列表仅包含 ascii 范围内的整数,则 Erlang shell 将此列表打印为字符串。
这确实有时会令人困惑。
【讨论】: