定義控制可變當我使用操縱我可以這樣做:在數學
Manipulate[x, {u, 1, 10}]
在現實中我控制多而複雜,所以我寧願把他們 定義了操縱的表情,像:
control = {u, 1, 10}
Manipulate[x, control]
但這導致一個錯誤:
Manipulate argument control does not have the correct form for a \
variable specification.
爲什麼它不這樣工作?
您提供的例子,我在大多數的答案看到的是代碼的複雜性根本沒有減少。一些答案創建了一個非常複雜的代碼片段,它使用了更多的字符,一堆額外的範圍構造等等。我覺得只需改進代碼的_layout_(每個控件在它自己的行上,可視化地分組相關的控件等)大多數情況下足夠。 –
通過我的回答,我更好地理解發生了什麼,但你完全正確:沒有任何構造使代碼變得更簡單。讓我瘋狂的是我的代碼中瘋狂的括號嵌套深度。這可能就是Lisp的做法,但是沒有辦法讓我的程序更線性化嗎? –
@Sjoerd,如果一段代碼出現在一個地方,那麼我大多同意你的看法。如果a)您在多個地方使用代碼,或者b)整個代碼變得太長以至於無法輕鬆修改,那麼執行此操作通常是有意義的。例如,我有一臺筆記本電腦,其中的「Manipulate」代碼不在我的MacBook的13英寸屏幕上。我必須使用這樣的技巧,或者每次需要修改時都嘗試將全部內容加載到我的頭上。由於我已經必須認真思考我實際解決的問題,所以我寧願通過添加幾個字符來降低代碼的複雜性。 – acl