當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Keyword.validate用法及代碼示例


Elixir語言中 Keyword.validate 相關用法介紹如下。

用法:

validate(keyword, values)
(從 1.13.0 開始)
@spec validate(
  keyword(),
  values :: [atom() | {atom(), term()}]
) :: {:ok, keyword()} | {:error, [atom()]}

確保第一個參數是具有給定鍵和默認值的 keyword

第二個參數必須是原子列表,指定給定鍵,或指定鍵和默認值的元組。

如果關鍵字列表隻有給定的鍵,則返回 {:ok, keyword} 並應用默認值。否則,它會返回帶有無效鍵的 {:error, invalid_keys}

另請參閱: validate!/2

例子

iex> {:ok, result} = Keyword.validate([], [one: 1, two: 2])
iex> Enum.sort(result)
[one: 1, two: 2]

iex> {:ok, result} = Keyword.validate([two: 3], [one: 1, two: 2])
iex> Enum.sort(result)
[one: 1, two: 3]

如果給定原子,則支持它們作為鍵,但不提供默認值:

iex> {:ok, result} = Keyword.validate([], [:one, two: 2])
iex> Enum.sort(result)
[two: 2]

iex> {:ok, result} = Keyword.validate([one: 1], [:one, two: 2])
iex> Enum.sort(result)
[one: 1, two: 2]

傳遞未知鍵會返回錯誤:

iex> Keyword.validate([three: 3, four: 4], [one: 1, two: 2])
{:error, [:four, :three]}

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Keyword.validate(keyword, values)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。