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

How to get the names of symbols as a list of strings?

我可以获得单个交易品种的名称:

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

这似乎有效

ss=5;
InputForm[ts[ss]]

给予

"ss"

现在我想将其映射到一个符号列表,这不起作用,因为我无法抑制 ss 的计算:

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

给予

{"aa", "5"}

如果有任何建议,我将不胜感激。非常感谢。

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]]