未定义的函数映射:to_json/1

day*_*mer 8 erlang

这是我从中学到的东西之一Programming Erlang, 2nd Ed,但似乎不适用于shell

$ erl
Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Eshell V6.2  (abort with ^G)
1> Dic = #{b => 1, a => 2}.
#{a => 2,b => 1}
2> maps:to_json(Dic).
** exception error: undefined function maps:to_json/1
3> 
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

Łuk*_*ski 22

Programming Erlang, 2nd Ed是在第17版中引入地图之前编写的(作为实验性特征),看起来书的作者乔·阿姆斯特朗对它们过于乐观了.仍然有一些提议的功能和语法尚未实现(或永远不会实现).

幸运的是,erlang的JSON解析器支持地图,检查: