Hier ist eine verschachtelte Tupel von einer Erlang-Bibliothek:Get Wert von verschachtelten Tupel
tuple = {:Certificate,
{:TBSCertificate,
:v3,
3464270192823392628,
{:AlgorithmIdentifier, {1, 2, 840, 113549, 1, 1, 11}, <<5, 0>>},
{:Validity, {:utcTime, '160428162930Z'}, {:utcTime, '170528162930Z'}},
:asn1_NOVALUE,
:asn1_NOVALUE,
:asn1_NOVALUE,
:asn1_NOVALUE,
:asn1_NOVALUE}}
Um die :Validity
Tupel zu finden, muss ich
tuple |> elem(1) |> elem(4)
ich ein Muster tun Anpassung kann tun, aber es gibt zu viel :asn1_NOVALUE
im Ende ich möchte sie einfach ignorieren.
Gibt es in Erlang/Elixir einen anderen Weg, den verschachtelten Tupelwert zu erhalten? So etwas wie
get_in(tuple, [:Certificate, :Validity])
Es sieht aus wie ein Erlang Datensatz, so dass Sie wahrscheinlich 'Record' Modul Elixir verwenden sollten, die einige Makros für einen einfachen Zugang zur Verfügung stellt :) – JustMichael
Das Tupel-Ergebnis war von http://erlang.org/doc/man/public_key.html#pem_entry_decode-2, sah in "Record.extract/2", obwohl nach dem Lesen der Dokumentation immer noch nicht sicher, wie man das verwendet .. – sbs
Welche Version von Erlang verwendest du? Ich wollte eine Antwort mit Record-Makros schreiben, aber es sieht so aus, als ob Erlang 19 vor AlgorithmIdentifier in TBSCertificate record ein zusätzliches Feld hat. – Dogbert