Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.08 KB

15.3.md

File metadata and controls

42 lines (33 loc) · 1.08 KB

Erlang VMの入出力は、I/Oサーバーを用いて行われる Elixirでは、開いたファイル、デバイスは、I/OサーバーのPIDで識別する

1.8.0-devIO.puts デフォルトのデバイス: :stdio

def puts(device \\ :stdio, item) do
  :io.put_chars(map_dev(device), [to_chardata(item), ?\n])
end

ノード one

goh@goh% iex --sname one
Erlang/OTP 21 [erts-10.0.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [dtrace]

Interactive Elixir (1.7.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(one@goh)1> two = :global.whereis_name :two
#PID<10631.69.0>
iex(one@goh)2> IO.puts(two, "Hello")
:ok
iex(one@goh)3> IO.puts(two, "World!")
:ok

ノード two

goh@goh% iex --sname two
Erlang/OTP 21 [erts-10.0.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [dtrace]

Interactive Elixir (1.7.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(two@goh)1> Node.connect(:one@goh)
true
iex(two@goh)2> :global.register_name(:two, :erlang.group_leader)
:yes
Hello
World!