Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang 读取元组键和值_Erlang_Tuples_Data Retrieval - Fatal编程技术网

Erlang 读取元组键和值

Erlang 读取元组键和值,erlang,tuples,data-retrieval,Erlang,Tuples,Data Retrieval,如何在Erlang中读取元组键和值 我有一个变量: Params = [<<"TPUIBrowser">>,0,18, {[{<<"End">>,<<"location-1ÿ">>},{<<"Start">>,<<"location-1">>}]}, null] 但这感觉非常冗长且容易出错(即,当我收到更多参数时)。什么是最好的erlang方式?库中有用于此的函数。退房

如何在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).