Erlang有没有类似于ipython的工具?

6 投票
3 回答
1039 浏览
提问于 2025-04-15 11:30

我之前用的是Python,现在想找一个像Python的ipython那样“好试用”的命令行工具(最好能支持Emacs)。在Erlang的命令行里,你总是得先编译一下(用c(...)),这让尝试新东西变得很慢。

3 个回答

1

IErlang 是一个为 IPython 提供的 Erlang 语言内核。简单来说,它让用户可以使用 IPython 的 Notebook 界面,不过在这里,IPython 运行的是 Python 代码,而 IErlang 则可以运行 Erlang 代码,并且能够编译和执行 Erlang 模块。

https://github.com/robbielynch/ierlang

另外,还有一个专门为 Elixir 提供的 IPython 内核:

https://github.com/pminten/ielixir

1

其实,创建一个模块来自动加载代码更改到你的命令行里是相对简单的。Erlang本身就支持这种功能。所以每当你重新编译代码时,它会自动加载到你的命令行中,这样你就不需要自己输入c('module.erl')了。你甚至可以让它监控文件的变化,自动为你编译代码。可以参考这个链接:

http://github.com/toddlipcon/mochiweb/blob/29d6ffd58aa2cd175f84cadfc1ce1697f366ef62/src/reloader.erl

这是一个实际示例。

目前这个模块只会查找重新编译的模块,但其实让它查找更改过的源文件并为你重新编译也是很简单的事情。

3

是的,没错 :)
你可以查看这个链接了解更多信息:http://erlang.org/doc/man/escript.html

$ cat /tmp/test
#!/usr/bin/env escript
main(_) ->
io:format("Hello World!\n").
$ chmod +x /tmp/test
$ /tmp/test
Hello World!

撰写回答