【发布时间】:2017-05-27 02:06:38
【问题描述】:
这似乎是世界上最简单的事情,但我试图从 ecto 查询返回一个整数:
iex(10)> num = Polo.Repo.all(from n in Polo.Account.Number, select: max(n.account))
[debug] QUERY OK source="account_numbers" db=3.0ms queue=0.1ms
SELECT max(a0."account") FROM "account_numbers" AS a0 []
[7024184]
iex(11)> IO.inspect(num)
[7024184]
[7024184]
iex(12)> IO.puts(num)
** (ArgumentError) argument error
(stdlib) :io.put_chars(:standard_io, :unicode, [[7024184], 10])
iex(12)> num + 1
** (ArithmeticError) bad argument in arithmetic expression
:erlang.+([7024184], 1)
正确的数字实际上是 7024184,但由于某种原因,它没有作为整数返回。它似乎是一个字符列表。
任何帮助将不胜感激!
运行最新的 Elixir 1.4.4
【问题讨论】:
-
在 Elixir 中,charlist 只是一个整数列表。