2

Erlangでタプルキーと値を読み取るにはどうすればよいですか?

私はこの変数を持っています:

Params = [<<"TPUIBrowser">>,0,18,
 {[{<<"End">>,<<"location-1ÿ">>},{<<"Start">>,<<"location-1">>}]},
 null]

と の値を取得したいと思い<<"End">>ます<<"Start">>

どうすればErlangでそれを行うことができますか?

私はこのようにすることができます:

[_,_,_,A,_] = Params.
{[{_,B},{_,C}]} = A.

しかし、これは非常に冗長でエラーが発生しやすいように感じます (つまり、より多くのパラメーターが送信されると)。最善のアーランの方法は何でしょうか?

4

2 に答える 2

2

リストライブラリには、このための関数があります。リストをチェックアウト:keyfind :

[_,_,_,{A},_] = Params,
{Key, Value} = lists:keyfind(<<"End">>, 1, A).

(私はあなたがどこにParams持っているか知っていると思いますA)

于 2012-08-26T22:20:19.607 に答える
1

あるいは、さらにフィールドを追加する予定がある場合に特に適した レコードを使用できます。

ここではリストを使用しているため、{[{_,B},{_,C}]} = A.さらに要素がある可能性があると思います。この場合、再帰関数を作成してアンパックする方がよい場合があります。

于 2012-08-26T22:36:04.090 に答える