万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Elixirのformat

    stringのフォーマットがデフォルトではなくErlangの使うのでめんどい。

    qiita.com

    なのでErlangのはこれを参考にした。

    文字と文字列 / Erlang World

    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

    オッケーーーー