【发布时间】:2016-04-08 12:30:19
【问题描述】:
我尝试学习宏并有以下代码 sn-p:
defmodule ControlFlow do
defmacro unless(expression, do: block) do
quote do
if !unquote(expression), do: unquote(block)
end
end
end
它按预期工作:
iex(16)> ControlFlow.unless 2 == 5, do: "block entered"
"block entered"
现在我的问题是,引用块的返回值是多少? 这个?
if !false, do: "block entered"
【问题讨论】:
-
投反对票——基本上是零研究工作。当然,与您在所涵盖的 Macro.to_string/1 中找到该示例的来源相同。
标签: elixir