当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Registry.update_value用法及代码示例


Elixir语言中 Registry.update_value 相关用法介绍如下。

用法:

update_value(registry, key, callback)
(从 1.4.0 开始)
@spec update_value(registry(), key(), (value() -> value())) ::
  {new_value :: term(), old_value :: term()} | :error

更新唯一 registry 中当前进程的 key 的值。

如果没有为当前进程分配这样的键,则返回 {new_value, old_value} 元组或 :error

如果给出非唯一注册表,则会引发错误。

例子

iex> Registry.start_link(keys: :unique, name: Registry.UpdateTest)
iex> {:ok, _} = Registry.register(Registry.UpdateTest, "hello", 1)
iex> Registry.lookup(Registry.UpdateTest, "hello")
[{self(), 1}]
iex> Registry.update_value(Registry.UpdateTest, "hello", &(&1 + 1))
{2, 1}
iex> Registry.lookup(Registry.UpdateTest, "hello")
[{self(), 2}]

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Registry.update_value(registry, key, callback)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。