Ich war neugierig, ob dies mit dem Enum
Modul möglich war, da Patrick Oscitys Antwort Comprehensions
ist, die nur ein Wrapper für das Enum
Modul zu sein scheint.
Die Antwort ist ja. Ich versuchte es zuerst mit Enum.each
. Was mysteriös nur ok
auf den Bildschirm gedruckt, aber das ist, was Enum.each
tut; es gibt immer das Atom :ok
zurück.
Ich dachte, Enum.map
wäre ein besserer Schuss, da es eine Liste der Ergebnisse zurückgibt. Werfen Sie einen Blick:
<%= Enum.map(@list, fun(item) -> %>
<p><%= item %></p>
<% end) %>
EEx
fast die gleiche wie ERB
funktioniert. In Ihrem ERB
Beispiel übergaben Sie einen "Block", der analog zu einer Lambda oder anonymen Funktion ist, an die each
Funktion. In meinem Beispiel EEx
tritt die fn (item) ->
an die Stelle do |item|
.
So, jetzt können Sie nicht nur über Lists
iterieren, aber Sie können mit einer größeren Vielfalt von Funktionen experimentieren, die eine anonyme Funktion verwenden, die die Vorlage manipuliert.
"for Schleife braucht a ="? Du meinst <% = auf dem Eröffnungs-Tag? –
Ja, das öffnende Tag! –
Ich habe versucht, es klarer zu machen. Sie können gerne eine Änderung vorschlagen, wenn Sie eine bessere Möglichkeit finden, dies auszudrücken! :) –