停止reduce_while与元组
问题描述:
我想停止reduce_while当我的函数来获取{:错误,原因},而不是虚假停止reduce_while与元组
我的代码是:
Enum.reduce_while(
[1,2,3,4],
0,
fn filename, _foo ->
if carica() do
IO.puts "OK"
{:cont, carica()}
else
IO.puts "KO"
{:halt, carica()}
end
end
)
def carica() do
{:error,"ERROR!!!!!"}
end
我要像
"KO"
{:error,"ERROR"}
一个输出
因为这样我就有
OK
OK
OK
OK
{:error, "ERROR!!!!!"}
答
如果要与来自功能的响应匹配,请使用case
:
case response = carica() do
{:error, reason} ->
IO.puts "KO"
{:halt, response}
_ ->
IO.puts "OK"
{:cont, response}
end