在长生不老药中可以参数化Enumerable.t类型吗?
因此,目前我有一个函数,它接受foos的列表:
@spec the_awesome([foo]) :: any
def the awesome(foos) do
Enum.reduce(foos, &(bar(&2, &1)))
end事实上,它不一定非得是一个列表!由于唯一的函数调用来自Enum模块,所以我想更改类型foo以接受任何可枚举的类型,但是保留这样的要求:枚举必须完全由foo的
有点像
@spec the_awesome(Enumerable.t(foo)) :: any这个是可能的吗?
发布于 2015-03-04 09:06:32
不幸的是现在不行。我们需要教透析员如何处理协议,如果我们真的希望他们表现出来,而且没有这样做的计划。
https://stackoverflow.com/questions/28848648
复制相似问题