我想要一个输入缓冲区的移位列表。我的代码是:
//模拟输入白色滑块。工作完美。仅适用于用户的更改。
list = Table[0, {10}];
Slider[Dynamic[b, (b = #; list = Take[Join[list, {b}], -10]) &], {0,
10, 1}]
Dynamic@list
// x是数据输入的模拟
Dynamic[x = RandomInteger[10], UpdateInterval -> 1]
//移位器列表。作为' a'更改,代码重播。
Dynamic[Take[AppendTo[a, x], -10],UpdateInterval -> 1]
我想仅为' x'运行代码变化。不会更改' a'。请帮帮我。
答案 0 :(得分:0)
不确定Slider
与问题的关系,但这是一个答案:
使用TrackedSymbols
指定可触发第二个Dynamic
的内容。
Dynamic[x = RandomInteger[10], UpdateInterval -> .2]
a = {};
Dynamic[a = PadLeft[Flatten@{a, x}, 10], TrackedSymbols :> {x}]
当时不需要UpdateInterval
。
请注意,Dynamic
中的操作仅在此类单元格可见时执行。也许更好的方法是使用ScheduledTasks
或常规Do
+ Pause
。