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

M守护神 2019-12-10

  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.

欢迎来语雀投稿或推荐,精选每周一发布,同步更新在语雀博客园

相关推荐