Iteriere über die Liste im eingebetteten Elixir

8

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%     
Stoecki 11.02.2015, 16:33
quelle

2 Antworten

18

Das Elixir-Äquivalent ist

%Vor%

Beachten Sie, dass Sie ein <%= vor dem for in Elixir verwenden müssen.

    
Patrick Oscity 11.02.2015, 17:14
quelle
3

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:

%Vor%

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.

    
Breedly 05.05.2016 04:54
quelle

Tags und Links