在我的模板中使用两个参数迭代函数时出错

时间:2016-03-30 18:29:08

标签: phoenix-framework

我的视图中有一个函数用于在模板中动态构建HTML元素:

defmodule Recursion do
        def buildElements(element,n) when n <= 1 do
            element
        end
        def buildElements(element, n) do
          [element | buildElements(element, n - 1)]
        end
    end

除非我尝试在我的模板中迭代它,否则效果很好:

<%= for element <- MyProject.PageView.Recursion.buildElements("LOL", 2) do %>
            <%= element %>
   <% end %>

我收到此错误:

no function clause matching in Enum."-reduce/3-lists^foldl/2-0-"/3

有什么问题?

1 个答案:

答案 0 :(得分:1)

解决问题只是一个很小的改变。

您尝试使用[foo | bar]表示法将元素添加到列表中。 <{1}}必须是列表,而bar是单个项目。

将您的foo更改为element并完成。

[element]