0

将其转换为最惯用的方法是什么:"helloworld"["h","e","l","l","o","w","o","r","l","d"]Erlang 中?

4

3 回答 3

5

字符串是一个字符列表

1> [$h, $e, $l, $l, $o, $w, $o, $r, $l, $d].
"helloworld"

所以如果你问

在 Erlang 中将字符串转换为字符的最惯用方法是什么?

答案是否定的,它已经是一个字符列表,你不必转换它。

如果你问,如何对字符串的字符应用一些函数,例如如何减去 32。

2> [ X - 32 || X <- "helloworld" ].
"HELLOWORLD"

或者如果您问如何获取一个字符串的列表

3> [[X] || X <- "helloworld"].
["h","e","l","l","o","w","o","r","l","d"]
于 2018-03-13T07:54:17.833 回答
1

在这种简单情况下,列表理解的替代方法是列表模块中的 map 函数:

String = "helloworld",
lists:map(fun(X) -> [X] end, String).
于 2018-03-13T13:04:12.590 回答
0

您可以尝试使用以下代码:

1> [[X] || X <- "helloworld"].
["h","e","l","l","o","w","o","r","l","d"]
于 2018-03-13T06:31:59.233 回答