如何获得符号名称作为字符串列表?

时间:2018-08-12 19:22:08

标签: wolfram-mathematica tostring

我可以获得单个符号的名称:

ts[s_]:=ToString[Unevaluated[s]];
SetAttributes[ts,HoldAll]

这似乎可行

ss=5;
InputForm[ts[ss]]

给予

"ss"

现在,我想将其映射到符号列表,该列表不起作用,因为我无法抑制对ss的求值:

InputForm[ts[#] & /@ {aa, ss}]

给予

{"aa", "5"}

我将不胜感激任何建议。非常感谢。

1 个答案:

答案 0 :(得分:1)

ts[s_] := ToString[Unevaluated[s]]
SetAttributes[ts, HoldAll]
{a, b, c} = {1, 2, 3};
Map[ts, Unevaluated[{a, b, c}]]
  

{a,b,c}

您也可以使用ts[s_] := SymbolName[Unevaluated[s]]