在
Erlang 中转换这个:"helloworld"
到 ["h","e","l","l","o","w","o","r","l","d"]
的最惯用方法是什么?
字符串是字符列表
1> [$h, $e, $l, $l, $o, $w, $o, $r, $l, $d].
"helloworld"
所以如果你问
将字符串转换为字符的最惯用方法是什么 二郎?
答案是没有,它已经是一个字符列表,您不必转换它。
如果你问,如何对字符串的字符应用一些函数,例如如何减去 32。
2> [ X - 32 || X <- "helloworld" ].
"HELLOWORLD"
或者,如果您询问如何获取一个字符串的列表
3> [[X] || X <- "helloworld"].
["h","e","l","l","o","w","o","r","l","d"]
在这个简单的情况下,列表理解的替代方法是列表模块中的map函数:
String = "helloworld",
lists:map(fun(X) -> [X] end, String).
您可以尝试使用以下代码:
1> [[X] || X <- "helloworld"].
["h","e","l","l","o","w","o","r","l","d"]