Yar*_*tov 6 wolfram-mathematica
如何使其toStr[list]获取符号列表并将其作为字符串返回?我想a=1;toStr[{a}]给{"a"}
更新03/02:Leo的配方有效,也是为了制作一个版本,它采用序列而不是列表SetAttribute[toStr2,HoldAll];toStr2[a__]:=toStr[{a}]
你可以使用HoldForm:
a = 1; b = 2;ToString@HoldForm[{a, b}]
Run Code Online (Sandbox Code Playgroud)
这给了{a, b}.要使其成为toStr函数,您需要设置属性,以便它不评估参数:
ClearAll[toStr]; SetAttributes[toStr, {HoldAll, Listable}];
toStr[x_] := ToString@HoldForm[x];
a = 1; b = 2; toStr[{a, b}]
Run Code Online (Sandbox Code Playgroud)
或者,你可以使用Unevaluated; 在上面的代码中toStr[x_] := ToString@Unevaluated[x]也可以正常工作.