我可以获得单个符号的名称:
ts[s_]:=ToString[Unevaluated[s]];
SetAttributes[ts,HoldAll]
这似乎可行
ss=5;
InputForm[ts[ss]]
给予
"ss"
现在,我想将其映射到符号列表,该列表不起作用,因为我无法抑制对ss的求值:
InputForm[ts[#] & /@ {aa, ss}]
给予
{"aa", "5"}
我将不胜感激任何建议。非常感谢。
答案 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]]