作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
true _x -> false end 导致以下错误: ** (-6ren">
在iex
控制台上,我发现以下错误,我不确定自己做错了什么...
case %{} do
x when x == %{} -> true
_x -> false
end
** (ErlangError) erlang error: :guard_expr
||
,
[]
和
{}
与
%{}
和
false
相同,来制作自己的
nil
宏。
defmodule Or do
defmacro left || right do
quote do
case unquote(left) do
x when x in [false, nil] or x == [] or x == {} or x == %{} ->
unquote(right)
x ->
x
end
end
end
end
or x == %{}
可使一切正常。
最佳答案
这似乎是一个Erlang错误。这是重现此问题的erlang代码:
case #{} of X when X == #{} -> X end.
关于药剂错误 "erlang error: :guard_expr",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493029/
是否可以使用 & 符号编写参数化函数? 这是 Dave Thomas 的 Programming Elixir 书中的参数化函数示例 title = fn (title) -> ( fn (name)
Elixir编译器在函数的第三行给了我“未定义的函数更改/0”: def ignore_empty(changeset) do cond do %{valid?: false,
我是一名优秀的程序员,十分优秀!