【发布时间】:2020-02-11 00:56:09
【问题描述】:
这是我尝试为 Elixir 1.0.3 运行的程序:
IO.puts "putstest"
div2 = fn inputnum ->
[:a, inputnum/4, inputnum/7, inputnum/5.0, inputnum/7, inputnum*88]
end
myoutput = div2.(300.0)
IO.puts myoutput
我添加了 :a 原子以防 Elixir 进行某种隐式转换。
我对 Elixir 有点陌生。当我通过$ elixir putztestzorz.exs 运行上面的代码时,我不断收到以下错误:
putstest
** (ArgumentError) argument error
(stdlib) :io.put_chars(#PID<0.24.0>, :unicode, [[:a, 75.0, 42.857142857142854, 60.0, 42.857142857142854, 2.64e4], 10])
(elixir) lib/code.ex:316: Code.require_file/2
我检查了the IO documentation,但没有IO.stream(将io设备转换为IO.Stream,将最后一行更改为IO.stream output)也没有IO.write(将给定参数写入给定设备,将最后一行更改为IO.write :stdout, output)似乎可以解决问题。
我不想在这里继续猜测,而且我似乎不太明白该函数应该做什么。
是否有类似于 Python 的 print() 的类似物工作?
我需要投射列表吗?
我可能在这里遗漏了一些非常简单的东西,但我不想只是在 IO 处理函数列表中猜测我的方式。
(P.S. 文档一直在谈论 Process.group_leader。我还没有计划对此做太多事情,但是有没有办法将它放在这类事情的上下文中?我一直在想象 Red Leader 来自星球大战。)
【问题讨论】:
标签: io type-conversion elixir