2015-05-09 31 views
2

例如,下面的規則創建編輯給定變量滑塊:在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

這將工作太:

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

,如果你添加Listable屬性,甚至更短:

EditorLine[{x, y, z}] 
相關問題