gpt4 book ai didi

Elixir map 检查是否不为空且 key 存在

转载 作者:行者123 更新时间:2023-12-03 14:40:40 26 4
gpt4 key购买 nike

我正在尝试找出一种方法来检查 Phoenix 应用程序(使用 Elixir)中的参数哈希是否具有特定的键。

在模型中的以下变更集函数中,参数默认为 :empty。

def changeset(model, params \\ :empty) do

我需要弄清楚哈希中是否存在名为 :username 的键。

最佳答案

只是一个小术语,params 是一个映射而不是一个哈希。当知道在哪里查看文档时,这是相关的。

map 有has_key?/2返回 truefalse .

Map.has_key?(params, :name)

由于您使用的是 Ecto 变更集,因此您也可以使用 Ecto.Changeset.get_change/3 .
get_change(changeset, key, default \\ nil)

这将返回 default如果 key未设置。请注意,如果 key设置为 nil然后 nil仍将被退回。如果 nil是您更改的允许值,那么您可能需要设置不同的默认参数。

关于Elixir map 检查是否不为空且 key 存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com