Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Erlang ets中名称参数的原因:未命名表的新名称_Erlang_Elixir_Ets - Fatal编程技术网

Erlang ets中名称参数的原因:未命名表的新名称

Erlang ets中名称参数的原因:未命名表的新名称,erlang,elixir,ets,Erlang,Elixir,Ets,查看文档,我发现Name参数是必需的。此外,当选项包含命名\u table时,函数将返回名称而不是表标识符,然后使用表标识符访问表 但是,当表未命名时,Name参数的用途是什么?为什么它是强制性的?我是否在创建表后使用过它?那么不是用表标识符代替名称了吗 当表格未命名时,名称的用途是什么?这是中的常见做法;对于未命名的表,Name被忽略 对于未命名的表,子句new(Options)->tid()| atom()需要额外检查Options是否不包含named_table现在,现有的arity 2函

查看文档,我发现
Name
参数是必需的。此外,当选项包含
命名\u table
时,函数将返回名称而不是表标识符,然后使用表标识符访问表

但是,当表未命名时,Name参数的用途是什么?为什么它是强制性的?我是否在创建表后使用过它?那么不是用表标识符代替名称了吗


当表格未命名时,
名称
的用途是什么?

这是中的常见做法;对于未命名的表,
Name
被忽略

对于未命名的表,子句
new(Options)->tid()| atom()
需要额外检查
Options
是否不包含
named_table
现在,现有的arity 2函数需要对
named_table
进行替代检查


这一切都带来了不必要的复杂性,但毫无价值。

感谢您的澄清!尽管如此,在没有附加值的问题上往往存在分歧:显然,向调用者传达函数的依赖关系是有价值的。我认为
new(Options)->tid()
new\u named(Name,Options)->atom()
在这种情况下会更好。+2我上面提到的冗余检查+共享功能的冗余私有函数+支持2个文档条款的必要性。。。吻未使用的参数通常会在中被忽略,这是一个简单的问题。名称不会完全被忽略-您可以通过
ets:info(Tid,name)
获得它。我想不出任何合理的方法来使用这个“功能”,尽管……有趣的是,我认为这更复杂(至少对消费者而言)。但是,使用一个函数来创建一个新表也是一个好主意。我想我还需要适应erlang的方式:)再次感谢!