1. 程式人生 > >Erlang/Elixir精選-第2期(20191209)

Erlang/Elixir精選-第2期(20191209)

  1. Spot The Discrepancies with Dialyzer for Erlang.

    如何在大型Erlang專案中從零開始一步步踐行Dialyzer。

  2. Which companies are using Erlang, and why?

    哪一些公司正在生產上使用Erlang?這是HackerNews上的頭條新聞,在首次釋出四個月後,訪問量仍然很高。

  3. An Unprecedented Subtraction.

    為什麼[1, 2, 3] -- [1, 2] -- [3] = [3].

  4. REPL? A bit more (and less) than that.

    Erlang Shell具體實現的流程分析,看完可思考:當你在shell裡面輸入io:format時,發生了什麼?

  5. 10 Essential Erlang Tools for Erlang Developers.

    日常開發,除錯工具。


要將整數轉換為十六進位制字串,只需使用erlang:integer_to_list(Int,16)。
要轉換回來,請使用erlang:list_to_integer(List,16).支援的基數從2~36。
如果要將二進位制檔案與十六進位制字串進行轉換,可以使用列表推導使其更整潔:

bin_to_hex(Bin) -> [ hd(erlang:integer_to_list(I, 16)) || << I:4 >> <= Bin ].
hex_to_bin(Str) -> << << (erlang:list_to_integer([H], 16)):4 >> || H <- Str >>.

要將整數轉換為包含64位有符號整數的十六進位制字串:

Int = 1 bsl 48, HexStr = bin_to_hex(<<Int:64/signed-integer>>),
<<RoundTrippedInt:64/signed-integer>> = hex_to_bin(HexStr),
Int =:= RoundTrippedInt.

歡迎來語雀投稿或推薦,精選每週一發布,同步更新在語雀,部落格園