【发布时间】:2014-09-15 01:21:27
【问题描述】:
此代码摘自此book。
count_characters(Str) ->
count_characters(Str, #{}).
count_characters([H|T], #{ H => N }=X) ->
count_characters(T, X#{ H := N+1 });
count_characters([H|T], X) ->
count_characters(T, X#{ H => 1 });
count_characters([], X) ->
X.
所以,
1> count_characters("hello").
#{101=>1,104=>1,108=>2,111=>1}
我从中了解到的是,count_characters() 接受一个参数 hello,并将其放在第一个函数中,即 count_characters(Str)。
我不明白的是,字符串字符是如何在不使用$的情况下转换为ascii值并递增的。我对 erlang 很陌生,如果您能帮助我理解上述内容,我将不胜感激。谢谢。
【问题讨论】:
标签: erlang