Elixir 长生不老药药盒构造与装订
我正在学习长生不老药,但在一个概念上遇到了困难。考虑下面的代码:Elixir 长生不老药药盒构造与装订,elixir,Elixir,我正在学习长生不老药,但在一个概念上遇到了困难。考虑下面的代码: iex(3)> case 1 do ...(3)> x -> "x exists" ...(3)> _ -> "something exists" ...(3)> end "x exists" iex(4)> x ** (CompileError) iex:4: undefined function x/0 变量x尚未绑定到任何对象,那么第一个
iex(3)> case 1 do
...(3)> x -> "x exists"
...(3)> _ -> "something exists"
...(3)> end
"x exists"
iex(4)> x
** (CompileError) iex:4: undefined function x/0
变量
x
尚未绑定到任何对象,那么第一个大小写
表达式如何匹配?我认为这可能是因为Elixir在赋值方面与Erlang不同,因此可能x
在这个过程中被绑定,但命令4显示x
没有绑定。在case
表达式的模式或主体中绑定的值仅在该分支中可用
case 1 do
x -> IO.puts(x)
end
将打印
1
如果要从案例
中提取值,可以存储案例
调用的返回值:
x = case 2 do
1 -> 2
2 -> 3
_ -> 0
end
x #=> 3
好极了!只要SO允许,我会尽快接受这个答案。:-)