如何在erlang中将字符串转换为元组?
f.e A="{"hi","how"}"
我希望它转换成
B={"hi","how"}.
当我调用函数list_to_tuple(A)时 它给出的输出为: - {123,60,60,34,106,105,100,34,62,62,44,34,104,105,34,125}而不是{“hi”,“how”}
答案 0 :(得分:2)
您应该使用erl_scan模块来标记字符串,并使用erl_parse将标记转换为erlang术语。
% Note the '.' at the end of the expression inside string.
% The string has to be a valid expression terminated by a '.'.
1> Str = "{\"x\",\"y\"}.".
"{\"x\",\"y\"}."
2> {ok, Ts, _} = erl_scan:string(Str).
{ok,[{'{',1},
{string,1,"x"},
{',',1},
{string,1,"y"},
{'}',1},
{dot,1}],
1}
3> {ok, Tup} = erl_parse:parse_term(Ts).
{ok,{"x","y"}}
4> Tup.
{"x","y"}