字符串操作:用逗号连接

New*_*Bee 2 elixir ets

我怎样才能从我现在在 Elixir 中得到它的方式得到下面的字符串。

['x1', 'x2']
Run Code Online (Sandbox Code Playgroud)

我尝试过enum.join但没有得到所需的数据

'x1,x2'
Run Code Online (Sandbox Code Playgroud)

Uri*_*ssi 5

如果我理解正确,您应该使用Enum.join/2第二个参数来定义“连接器”。这应该有效:

arr = ['x1', 'x2']
Enum.join(arr, ",")
# => "x1,x2"
Run Code Online (Sandbox Code Playgroud)

如果您希望结果为字符列表,可以使用以下命令将其转换为字符列表String.to_char_list/1

String.to_char_list(Enum.join(arr, ","))
# => 'x1,x2'
Run Code Online (Sandbox Code Playgroud)

另一种选择是显式使用Enum.reduce/2并添加连接器:

Enum.reduce(arr, &(&2 ++ ',' ++ &1))               
# => 'x1,x2'
Run Code Online (Sandbox Code Playgroud)