Elixir語言中 Registry.values
相關用法介紹如下。
用法:
values(registry, key, pid)
(自 1.12.0 起)
@spec values(registry(), key(), pid()) :: [value()]
在 registry
中為 pid
讀取給定 key
的值。
對於唯一注冊表,它可以是一個空列表,也可以是具有單個元素的列表。對於重複的注冊表,它是一個包含零個、一個或多個元素的列表。
例子
在下麵的示例中,我們注冊當前進程並從自身和其他進程中查找它:
iex> Registry.start_link(keys: :unique, name: Registry.UniqueLookupTest)
iex> Registry.values(Registry.UniqueLookupTest, "hello", self())
[]
iex> {:ok, _} = Registry.register(Registry.UniqueLookupTest, "hello", :world)
iex> Registry.values(Registry.UniqueLookupTest, "hello", self())
[:world]
iex> Task.async(fn -> Registry.values(Registry.UniqueLookupTest, "hello", self()) end) |> Task.await()
[]
iex> parent = self()
iex> Task.async(fn -> Registry.values(Registry.UniqueLookupTest, "hello", parent) end) |> Task.await()
[:world]
這同樣適用於重複的注冊表:
iex> Registry.start_link(keys: :duplicate, name: Registry.DuplicateLookupTest)
iex> Registry.values(Registry.DuplicateLookupTest, "hello", self())
[]
iex> {:ok, _} = Registry.register(Registry.DuplicateLookupTest, "hello", :world)
iex> Registry.values(Registry.DuplicateLookupTest, "hello", self())
[:world]
iex> {:ok, _} = Registry.register(Registry.DuplicateLookupTest, "hello", :another)
iex> Enum.sort(Registry.values(Registry.DuplicateLookupTest, "hello", self()))
[:another, :world]
相關用法
- Elixir Registry.count_match用法及代碼示例
- Elixir Registry.lookup用法及代碼示例
- Elixir Registry.unregister_match用法及代碼示例
- Elixir Registry.register用法及代碼示例
- Elixir Registry.put_meta用法及代碼示例
- Elixir Registry.keys用法及代碼示例
- Elixir Registry.start_link用法及代碼示例
- Elixir Registry.unregister用法及代碼示例
- Elixir Registry.delete_meta用法及代碼示例
- Elixir Registry.count用法及代碼示例
- Elixir Registry.meta用法及代碼示例
- Elixir Registry.select用法及代碼示例
- Elixir Registry.update_value用法及代碼示例
- Elixir Registry.match用法及代碼示例
- Elixir Registry用法及代碼示例
- Elixir Regex.run用法及代碼示例
- Elixir Regex.names用法及代碼示例
- Elixir Regex.named_captures用法及代碼示例
- Elixir Regex.match?用法及代碼示例
- Elixir Regex.escape用法及代碼示例
- Elixir Regex用法及代碼示例
- Elixir Regex.compile用法及代碼示例
- Elixir Regex.split用法及代碼示例
- Elixir Regex.source用法及代碼示例
- Elixir Regex.replace用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Registry.values(registry, key, pid)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。