如何检查ETS Erlang/Elixir中是否存在命名表

Aru*_*ani 4 erlang elixir ets

我想在ets中创建一个表,如果它不存在的话.如何检查此命名是否存在?

Dog*_*ert 7

你可以用:ets.whereis/1.:undefined如果指定的表不存在,它将返回:

iex(1)> :ets.new :foo, [:named_table]
:foo
iex(2)> :ets.whereis :foo
#Reference<0.2091350666.119668737.256142>
iex(3)> :ets.whereis :bar
:undefined
Run Code Online (Sandbox Code Playgroud)

  • 你使用的是哪个版本的 Erlang?您也可以尝试`:ets.info(:foo)`。 (2认同)