【问题标题】:In Mathematica, is there any elegant way to map over a list of variable names?在 Mathematica 中,是否有任何优雅的方式来映射变量名列表?
【发布时间】:2015-05-09 00:11:55
【问题描述】:

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

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]} 来完成,但如果我想编写这样的重复函数调用,我不会使用映射!

有没有更好的方法?

【问题讨论】:

    标签: wolfram-mathematica


    【解决方案1】:

    这也可以:

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

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

    EditorLine[{x, y, z}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      • 2011-01-20
      相关资源
      最近更新 更多