Erlang 读取元组键和值
如何在Erlang中读取元组键和值 我有一个变量:Erlang 读取元组键和值,erlang,tuples,data-retrieval,Erlang,Tuples,Data Retrieval,如何在Erlang中读取元组键和值 我有一个变量: Params = [<<"TPUIBrowser">>,0,18, {[{<<"End">>,<<"location-1ÿ">>},{<<"Start">>,<<"location-1">>}]}, null] 但这感觉非常冗长且容易出错(即,当我收到更多参数时)。什么是最好的erlang方式?库中有用于此的函数。退房
Params = [<<"TPUIBrowser">>,0,18,
{[{<<"End">>,<<"location-1ÿ">>},{<<"Start">>,<<"location-1">>}]},
null]
但这感觉非常冗长且容易出错(即,当我收到更多参数时)。什么是最好的erlang方式?库中有用于此的函数。退房:
[[uu,{A},}]=Params,
{Key,Value}=lists:keyfind(,1,A)。
(我假设您知道在参数中的哪里有A
)或者,如果您计划添加更多字段,您可以使用特别适合的字段
由于您在这里使用了一个列表
{[{{{uuub,B},{{{uu,C}]}=a.我假设可能有更多的元素;在这种情况下,使用递归函数解包可能会更好。当我尝试此操作时,会出现以下错误:{Key,Value}=lists:keyfind(,1,a)。**异常错误:函数列表中的参数错误:keyfind/3被称为列表:keyfind(,1,{[{,},{,},{,}]})哦,我没有注意到您的列表在一个元素元组中。我已经修正了我的答案(这次我真的尝试了:-)
[_,_,_,A,_] = Params.
{[{_,B},{_,C}]} = A.
[_,_,_,{A},_] = Params,
{Key, Value} = lists:keyfind(<<"End">>, 1, A).