在 Mathematica 中,是否有任何优雅的方法来映射变量名称列表?

In Mathematica, is there any elegant way to map over a list of variable names?

例如,创建编辑给定变量的滑块的以下规则:

EditorLine[stat_] := {
   Labeled[Slider[Dynamic[stat], {1, 20, 1}],
   {SymbolName[Unevaluated[stat]]}, {Left}], Dynamic[stat]}
SetAttributes[EditorLine, HoldFirst]

这适用于 EditorLine[x],但使用映射 - 例如,EditorLine /@ {x,y,z} 会出错,因为映射函数会评估变量名称,因此它们不会被保留。

这可以通过编写 EditorLine /@ {Unevaluated[x],Unevaluated[y],Unevaluated[z]} 来完成,但如果我想像那样编写重复的函数调用,我就不会使用映射!

有更好的方法吗?

这也行得通:

EditorLine /@ Unevaluated[{x, y, z}]

如果添加 Listable 属性,则更短:

EditorLine[{x, y, z}]