Get strange output, please help to explain me

I try with this example

iex(9)> defmodule Example do
...(9)>    def func(p1, p2 \\ 2) do 
...(9)>       IO.inspect [p1, p2]
...(9)>    end
...(9)> end
{:module, Example,
 <<70, 79, 82, 49, 0, 0, 4, 24, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 103,
   0, 0, 0, 10, 14, 69, 108, 105, 120, 105, 114, 46, 69, 120, 97, 109, 112, 108, 
   101, 8, 95, 95, 105, 110, 102, 111, 95, ...>>, {:func, 2}}
iex(10)

Why I get the output look such above numbers?

It’s just the bytecode of your module. Nothing to worry about.

Eg:

iex> :code.get_object_code(Map)
{Map,
 <<70, 79, 82, 49, 0, 0, 61, 48, 66, 69, 65, 77, 69, 120, 68, 99, 0, 0, 17, 202,
   131, 80, 0, 0, 63, 16, 120, 156, 237, 59, 75, 143, 220, 200, 121, 243, 90,
   73, 166, 29, 251, 148, 147, 15, 46, 245, 66, 222, ...>>,
 '/Users/xxx/.asdf/installs/elixir/1.5.0/bin/../lib/elixir/ebin/Elixir.Map.beam'}
3 Likes