我正在尝试执行以下操作
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]变为“[254,874]”
hmae6n7t1#
您可能忘记了f(S)用于上一次计算。请在使用命令之前尝试它:
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".
fcy6dtqo2#
找到了答案
A = [254,876]. lists:flatten(io_lib:format("~p",[A])).
这将给出精确结果“[254,876]”
8ehkhllq3#
将整数列表转换为字符串对于你的情况,我会做:
[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]"
apeeds0o4#
第一个
4条答案
按热度按时间hmae6n7t1#
您可能忘记了
f(S)
用于上一次计算。请在使用命令之前尝试它:此外,您可以使用
$[
或$]
来表示ASCII中的"[" "]"
fcy6dtqo2#
找到了答案
这将给出精确结果“[254,876]”
8ehkhllq3#
将整数列表转换为字符串
对于你的情况,我会做:
对于更一般情况:
试验:
apeeds0o4#
第一个