Elixir:模块定义后repl中打印的二进制文件是什么?

时间:2014-05-17 05:08:32

标签: binary-data read-eval-print-loop elixir

我在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}}

模块定义后打印出的二进制文件是什么?

1 个答案:

答案 0 :(得分:3)

将BEAM字节码输出为原始二进制文件。在编译via mix时,编译器使用它将已编译的模块持久保存到Elixir.Adder.beam文件。 iex中定义的模块不会永久保存到磁盘,但您可以将其视为您的模块在内存中成功编译的确认。