stringのフォーマットがデフォルトではなくErlangの使うのでめんどい。
なのでErlangのはこれを参考にした。
Erlangでいうことの
io:format("hello ~p~n",[erlang]).
これは、
:io.format("hello ~p", ['erlang'])
iexでの結果
hello "erlang":ok
のように最後の.
.を外して、io
の前に:
をつけて、:
の代わりに.
を[]
があれば''
つければいいと脳内変換してつかった。
なぜかダブルクォートがつくが、
シーケンス | 役割 |
---|---|
~n | 改行 |
~p | 整形して出力を行なう |
~s | 文字列の出力を行なう |
~w | データをそのまま出力する |
とのことなので、
:io.format("hello ~s", ['erlang'])
とsにすれば解決した。
結果を受け取るために
res = :io.format("hello ~s", ['erlang'])
としたが、res
を出力したが・・・
> IO.puts(res) ok :ok
はあ??
Erlang - io:format 's result / (formatting with io_lib:format/2) - Stack Overflow
スタックオーバーフローさん登場!
io
の代わりにio_lib
を代わりに使えとのこと。
res = :io_lib.format("hello ~s", ['erlang'])
にしたら
> IO.puts(res) hello erlang :ok
オッケーーーー