gpt4 book ai didi

erlang - 在 Erlang 中匹配带有无关变量的元组

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

我正在寻找一种使用部分元组在 Erlang 中的列表中查找元组的方法,类似于 Prolog 中的仿函数匹配。例如,我想通过以下代码返回 true :

member({pos, _, _}, [..., {pos, 1, 2}, ...])

由于以下错误,此代码无法立即运行:
variable '_' is unbound

有没有简单的方法可以达到同样的效果?

最佳答案

对于简单的情况,最好使用已经提到的 lists:keymember/3 .但如果你真的需要member您可以像这样自己实现它的功能:

member(_, []) ->
false;
member(Pred, [E | List]) ->
case Pred(E) of
true ->
true;
false ->
member(Pred, List)
end.

例子:
>>> member(fun ({pos, _, 2}) -> true; (_) -> false end, [..., {pos, 1, 2}, ...]).

关于erlang - 在 Erlang 中匹配带有无关变量的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6923300/

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