我有这样停止管道运营商链
check_file(url) |>test |> foo
TRE功能check_file返回
{:ok,_} or {:error,_}
我有一个模式匹配
def test({:ok,_}) do
IO.puts "ok";
end
def test({:error,_}) do
IO.puts "KO, debug and stop!";
end
如果我有两个功能:错误我不想调用我的最后一个函数(foo),但我想在调试中显示错误
我可以这样做吗?
感谢您的回复,以这种方式我必须将这个条件添加到每个函数'check_file(url)|> test |> foo |> bar |> buz'right?感谢 – monkeyUser
这取决于函数返回的内容。如果他们返回'''{:ok,something}˚˚˚或˚˚˚{:error,some_error}'''你应该使用'''with''',因为你可以处理多个这些元组并为所有功能在一个地方进行错误处理。 – Pfitz