Ser*_*nik 5 erlang warnings case-statement
使用erlang进行开发时,我有时会使用这样的case语句
case Status of
1 ->
Variable = "Something";
2 ->
Variable = "Something else";
3 ->
Variable = {"Something very different", [1,2,3]}
end
Run Code Online (Sandbox Code Playgroud)
根据某些条件为变量赋值.
问题是:如果我在case语句之后使用它:
do_something(Variable),
Run Code Online (Sandbox Code Playgroud)
我收到了编译警告:
Warning: variable 'Variable' exported from 'case'
Run Code Online (Sandbox Code Playgroud)
Erlang根据某些条件为变量赋值并避免此类警告的最佳做法是什么?
Dog*_*ert 12
在Erlang中执行此操作的惯用方法是分配Variable返回值,case因为case是一个表达式,它返回每个分支的最后一个表达式的值:
Variable = case Status of
1 -> "Something";
2 -> "Something else";
3 -> {"Something very different", [1,2,3]}
end
Run Code Online (Sandbox Code Playgroud)