Ich probiere derzeit eingebettete Elixiere aus (in meinem Fall .html.eex-Dateien). Ich weiß, wie man Elixier-Hashes rendert, aber ich konnte nicht herausfinden, wie ich einen Inhalt mit allen Elementen in einer Liste erstelle. In Ruby würde es so funktionieren:
%Vor%Das Elixir-Äquivalent ist
%Vor% Beachten Sie, dass Sie ein <%=
vor dem for
in Elixir verwenden müssen.
Ich war neugierig, ob dies mit dem Modul Enum
möglich war, seit Patrick Oscity Die Antwort basiert auf Comprehensions
, die nur ein Wrapper für das Enum
Modul.
Die Antwort ist ja. Ich habe es zuerst mit Enum.each
versucht. Was mysteriös nur ok
auf den Bildschirm gedruckt hat, aber das ist Enum.each
tut; es gibt immer das :ok
atom zurück.
Ich dachte, Enum.map
wäre ein besserer Schuss, da er zurückkehrt eine Liste der Ergebnisse. Schau es dir an:
EEx
funktioniert fast genauso wie ERB
. In Ihrem Beispiel ERB
übergeben Sie einen "Block", der analog zu einer Lambda oder anonymen Funktion ist, an die Funktion each
. In meinem Beispiel EEx
ersetzt fn (item) ->
die Stelle von do |item|
.
Nun können Sie also nicht nur über Lists
, sondern auch über Sie iterieren kann mit einer größeren Vielfalt von Funktionen experimentieren, die eine anonyme Funktion verwenden, die die Vorlage manipuliert.