Список динамического сдвига mathematica

Я хочу список переключения для входного буфера. Мой код:

// Имитация ввода с ползунком. Это идеальная работа. Работать только для изменений пользователем.

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]

// Список сдвига. Как "а" изменение, код воспроизводится.

Dynamic[Take[AppendTo[a, x], -10],UpdateInterval -> 1]

Я хочу запустить код только для изменений "х". Нет для изменений "а". Помоги мне, пожалуйста.

1 ответ

Не уверен, как твои Slider связан с вопросом, но вот ответ:

использование TrackedSymbols указать, что может вызвать второй Dynamic,

Dynamic[x = RandomInteger[10], UpdateInterval -> .2]
a = {};
Dynamic[a = PadLeft[Flatten@{a, x}, 10], TrackedSymbols :> {x}]

нет необходимости UpdateInterval затем.

Имейте в виду, что операции в Dynamic будет выполняться только тогда, когда такая ячейка видна. Возможно, лучший подход заключается в использовании ScheduledTasks или обычный Do + Pause,

Другие вопросы по тегам