如何从管道函数链中获取值?

How to catch a value from a chain of piped functions?

假设我有这个函数链

%{key1: "value 1", key2: "value 2"}
|> CustomModule.func1
|> CustomModule.func2
|> CustomModule.func3

如何将 return 值分配给像 final_result 这样的变量,然后在 case 语句中使用它或进一步测试它?

您可以使用 =

进行绑定
final_result = %{key1: "value 1", key2: "value 2"}
|> CustomModule.func1
|> CustomModule.func2
|> CustomModule.func3

有些人喜欢以下风格 (https://github.com/niftyn8/elixir_style_guide#source-code-layout):

final_result =
  %{key1: "value 1", key2: "value 2"}
  |> CustomModule.func1
  |> CustomModule.func2
  |> CustomModule.func3