代码之家  ›  专栏  ›  技术社区  ›  Muhammad Lukman Low Samson

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

  •  0
  • Muhammad Lukman Low Samson  · 技术社区  · 7 年前

    最惯用的转换方法是什么: "helloworld" ["h","e","l","l","o","w","o","r","l","d"] 在爱尔兰?

    3 回复  |  直到 7 年前
        1
  •  5
  •   Hynek -Pichi- Vychodil Paulo Suassuna    7 年前

    字符串是字符列表

    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"]
    
        2
  •  1
  •   Pascal    7 年前

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

    String = "helloworld",
    lists:map(fun(X) -> [X] end, String).
    
        3
  •  0
  •   Muhammad Lukman Low Samson    7 年前

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

    1> [[X] || X <- "helloworld"].
    ["h","e","l","l","o","w","o","r","l","d"]