【发布时间】:2017-11-15 08:04:09
【问题描述】:
你能看看我的宏吗?
我收到undefined function number/0 错误,我不知道为什么。
defmodule DbUtil do
defmacro __using__(opts) do
quote do
import unquote(__MODULE__)
@before_compile unquote(__MODULE__)
end
end
defmacro __before_compile__(%{module: definition} = _env) do
quote do
import Ecto.Query
def last do
from x in unquote(definition), order_by: [desc: x.id], limit: 1
end
# This dumps error
def limits(number) do
from a in unquote(definition), limit: ^unquote(number)
end
end
end
end
【问题讨论】: