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

时间:2015-05-09 00:11:55

标签: wolfram-mathematica

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

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]}来完成,但如果我想编写重复的函数调用,那就不会使用地图了!

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

这也可以:

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

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

EditorLine[{x, y, z}]