【问题标题】:How to get an element from a list of pairs in Erlang如何从 Erlang 中的对列表中获取元素
【发布时间】:2021-06-26 16:23:28
【问题描述】:

我正在尝试创建一个从对列表中递归返回元素的函数。它有两个参数,一个对的列表(一个关联列表)和一个值,如果该值与列表中一对的第一个元素匹配,那么它应该返回该对的第二个元素。如果值不匹配,则返回错误。例如,searchpair([{K,V}], K)。应该返回 V。

这是我尝试过的。不知道如何添加元组并对其进行递归。

   searchpair([], _) -> error;
   searchpair([[K, V] | Rest], Search) when V = Search -> K;
   searchpair([_ | Rest], Search) -> seachPair(Rest, Search).

【问题讨论】:

    标签: functional-programming erlang


    【解决方案1】:

    你不需要when,可以直接绑定K

    searchpair([], _) ->
        error;
    searchpair([{K,V} | _Rest], K) ->
        V;
    searchpair([_T | Rest], Search) ->
        searchpair(Rest, Search).
    

    另外,元组不是列表。此外,函数名区分大小写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-30
      • 2014-12-16
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      相关资源
      最近更新 更多