Wie verkette ich Arrays in Elixir?Verketten von Arrays in Elixir
Wenn ich zwei Arrays:
[1, 2]
und
[3, 4]
wie verketten ich ihnen sein:
[1, 2, 3, 4]
Wie verkette ich Arrays in Elixir?Verketten von Arrays in Elixir
Wenn ich zwei Arrays:
[1, 2]
und
[3, 4]
wie verketten ich ihnen sein:
[1, 2, 3, 4]
Sie Listen verketten (nicht Arrays) mit der ++/2 Funktion.
jedoch oft in der funktionalen Programmierung finden Sie eine Liste mit den Nachteilen (|
) Betreiber wie so aufbauen:
a = [] # []
b = ["foo" | a] # ["foo"] ["foo" | []]
c = ["bar" | b] # ["bar", "foo"] ["bar" | ["foo" | []]]
Dies entspricht:
a = [] # []
b = ["foo" | a] # ["foo" | []]
c = ["bar" | b] # ["bar" | ["foo" | []]]
Sie auch diesen Operator gesehen haben im Mustervergleich:
["bar" | tail] = ["bar", "foo"] #tail is now ["foo"]
Sie werden oft Listen bu Wenn Sie diese Technik verwenden und dann am Ende des Funktionsaufrufs umgekehrt werden, erhalten Sie die Ergebnisse in der gleichen Reihenfolge wie bei der Verwendung der Listenverkettung (z. B. Enum.filter/2). Diese Antwort erklärt es gut Erlang: Can this be done without lists:reverse?
Sie können zusätzlich bei http://elixir-lang.org/getting-started/basic-types.html#lists-or-tuples
Für Verkettung gibt der ++
Operator ist.
So zum Beispiel
iex> [1, 2] ++ [3, 4]
[1, 2, 3, 4]
mehr über die Liste Datentyp lesen, können Sie auch mit '--' Teile von Listen entfernen,' [1, 2, 3, 4, 5 ] - [3, 4, 5] 'ergibt '[1, 2]'. –
Guter Punkt, um sicherzustellen, dass die Person, die die Frage gestellt hat, erkennt, dass er (Indefinitpronomen Sinn) mit Listen und nicht Arrays zu tun hat. –
Zum Zeitpunkt des Verfassens der Frage habe ich das nicht verstanden, aber offensichtlich tue ich es jetzt. Da es ein grundlegender Teil von Elixir ist, müssen andere die gleiche Frage stellen wie ich. Diese Antwort adressiert sowohl die Lösung, als auch, dass nicht wirklich nach Arrays gefragt wird. – steakunderscore