мне было интересно, если это было возможно с помощью Enum
модуля, так как ответ Патрика Oscity полагается Comprehensions
которые выглядят как только обертка для Enum
модуля.
Ответ да. Сначала я попробовал Enum.each
. Какой таинственно напечатал только ok
, но это то, что делает Enum.each
; он всегда возвращает атом :ok
.
Я понял, что Enum.map
был бы лучшим, так как он возвращает список результатов. Посмотрите:
<%= Enum.map(@list, fun(item) -> %>
<p><%= item %></p>
<% end) %>
EEx
работает почти так же, как ERB
. В вашем примере ERB
вы передавали функцию «блок», которая аналогична функции лямбда или анонимности, функции each
. В моем примере EEx
fn (item) ->
занимает место do |item|
.
Итак, теперь вы можете не только перебирать Lists
, но вы можете поэкспериментировать с более широким спектром функций, которые используют анонимную функцию, которая управляет шаблоном.
"for loop needs a ="? Вы имеете в виду <% = на открытии тега? –
Да, открывающий тег! –
Я попытался прояснить ситуацию. Вы можете предложить редактировать, если вы можете подумать о лучшем способе выразить это! :) –