我在repl中写了一个简单的模块:
iex(26)> defmodule Adder do
...(26)> def add(a \\ 0, b \\ 0) do
...(26)> a+b
...(26)> end
...(26)> end
{:module, Adder,
<<70, 79, 82, 49, 0, 0, 4, 224, 66, 69, 65, 77, 65, 116, 111, 109, 0, 0, 0, 106, 0, 0, 0, 12, 12, 69, 108, 105, 120, 105, 114, 46, 65, 100, 100, 101, 114, 8, 95, 95, 105, 110, 102, 111, 95, 95, 4, 100, 111, 99, ...>>,
{:add, 2}}
模块定义后打印出的二进制文件是什么?
答案 0 :(得分:3)
将BEAM字节码输出为原始二进制文件。在编译via mix时,编译器使用它将已编译的模块持久保存到Elixir.Adder.beam
文件。 iex中定义的模块不会永久保存到磁盘,但您可以将其视为您的模块在内存中成功编译的确认。