Below is an illustration of the problem.
a={1->{{8,9},{8,22}},2->{{8,3,19},{8,14,19}}};
b={1->{1,2},2->{1,2,3}};
Manipulate[
Manipulate[
Thread[case->(item/. b)],
{case,item/.a,ControlType->Setter}],
{item,Keys@a}]
If you run the above code, it will show this
then if you switch to item 2, you got an Thread
error like this
The error says, Thread encounters unequal length objects. However, the output of Manipulate is actually right! I don't get it, why there is an intermediate error? How to get rid of this error?
Off[Thread::tdlen]
as a very, very nasty hack. Lateron, you can reactive these error messages withOn[Thread::tdlen]
... $\endgroup$Quiet
. But wait for an explanation and a formal way to get rid of it : ) $\endgroup$