Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ets上的Erlang算术运算:选择结果_Erlang - Fatal编程技术网

ets上的Erlang算术运算:选择结果

ets上的Erlang算术运算:选择结果,erlang,Erlang,我有一个ets表,你可以想象它有两列,“键”和“值”。值是一个整数 当我尝试时: Ans = ets:select(Table_name, MS), Ans + 1. 其中Ans等于预期值 我有一个错误: ** exception error: an error occurred when evaluating an arithmetic expression 我不能对ets执行任何算术运算:选择返回值 ets:select(Table_name, MS) 将在列表中返回结果 因此

我有一个ets表,你可以想象它有两列,“键”和“值”。值是一个整数

当我尝试时:

 Ans = ets:select(Table_name, MS),
 Ans + 1.
其中Ans等于预期值

我有一个错误:

 ** exception error: an error occurred when evaluating an arithmetic expression
我不能对ets执行任何算术运算:选择返回值

 ets:select(Table_name, MS)
将在列表中返回结果

因此,以下方法将起作用:

 [Ans] = ets:select(Table_name, MS),
 Ans + 1.

在ets模块规范中:
选择(选项卡,匹配规范)->[Match]
,reurn值是匹配列表。如果您的匹配规范将一个整数值定义为return,您将收到一个整数列表。在您的情况下,此列表的长度似乎始终为1个元素,如果必须是这样,您可以编写:

[Ans] = ets:select(Table_name, MS),
Ans + 1.
但是请注意,如果返回的列表为空或包含多个元素,则此代码将崩溃