Elixir 未定义函数的长生不老药
长生不老药初学者在这里。我正在尝试从iex运行hello world elixir脚本 该脚本是一个基本的hello world示例Elixir 未定义函数的长生不老药,elixir,Elixir,长生不老药初学者在这里。我正在尝试从iex运行hello world elixir脚本 该脚本是一个基本的hello world示例 IO.puts "Hello World!" 我从iex运行以下命令 iex(1)> elixir hello.exs 并获取以下错误: ** (CompileError) iex:1: undefined function elixir/1 不知道我为什么会出错,如果有任何帮助,我们将不胜感激。谢谢所以答案不会隐藏在评论中: 您应该从shell运行e
IO.puts "Hello World!"
我从iex运行以下命令
iex(1)> elixir hello.exs
并获取以下错误:
** (CompileError) iex:1: undefined function elixir/1
不知道我为什么会出错,如果有任何帮助,我们将不胜感激。谢谢所以答案不会隐藏在评论中:
您应该从shell运行
elixir hello.exs,而不是在iex中运行
假设您在控制台中
$ elixir hello.exs
请参阅:另一个答案正确地指出,交互式elixir shell(iex)中没有“elixir”功能,因此您要做的是从系统shell执行elixir命令
但是,iex中有一些助手可以从iex在第一次安装时启动的目录加载文件,因为我们当前的工作目录中有一个test.exs
文件,包含以下内容:
defmodule Test do
def greet(person) do
"Hi, #{person}!"
end
end
我们可以使用iex的c/1
(编译文件)助手将其加载到iex会话中:
$ iex
Erlang/OTP 22 [erts-10.5.5] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> c("test.exs")
[Test]
iex(2)> Test.greet("Pau")
"Hi, Pau!"
iex(3)>
iex中的其他帮助程序可能会对您有所帮助,如打印工作目录的pwd
,以及列出当前工作目录中文件的ls
,您可以使用cd
帮助程序更改工作目录,这将目录作为一个参数。您应该从shell运行elixir hello.exs
,而不是在iex
中运行。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-感谢@ManojChoudhari在这篇文章中提到。