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


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。