我试图做以下事情
S = lists:concat(A) ++ " " ++ [254,874] ++ "\n".
它给了我错误信息
** exception error: no match of right hand side value [51,50,52,51,53,54,53,54,55,54,54,53,52,51,32,254,874,10]
但它适用于字符串值" [254,874]"
如何制作[254,874]至#34; [254,874]"
答案 0 :(得分:2)
您可能忘记f(S)
以前的计算。在使用命令之前尝试一下:
1> f(S).
ok
2> S = lists:concat(A) ++ " " ++ [254,874] ++ "\n".
此外,您可以使用$[
或$]
在ASCII中指明"[" "]"
3> $[.
91
4> $].
93
5> S = lists:concat(A) ++ " " ++ [91,254,874,93] ++ "\n".
答案 1 :(得分:-1)
找到了答案
A = [254,876].
lists:flatten(io_lib:format("~p",[A])).
这给出了确切的结果 “[254876]”
答案 2 :(得分:-1)
将整数列表转换为字符串
对于你的情况我会做的:
[A, B] = [254,876],
C = "[" ++ integer_to_list(A) ++ "," ++ integer_to_list(B) ++ "]".
更通用的案例:
-module(l2s).
-compile(export_all).
list_to_string([H|List]) ->
list_to_string(List, "[" ++ integer_to_list(H)).
list_to_string([], String) -> String ++ "]";
list_to_string([H | List], String) ->
list_to_string(List, String ++ "," ++ integer_to_list(H)).
测试:
Eshell V7.3 (abort with ^G)
1> A = [1,2,3,4,5].
[1,2,3,4,5]
2> l2s:list_to_string(A).
"[1,2,3,4,5]"
答案 3 :(得分:-1)
"["++lists:concat(lists:join(",",A))++"]".
"[1,2,3,4]"