But you can set a variable inside a macro: \define else() <$set name="type" value="long"> <<type>> </$set> \end <$vars variable="variable"> <$list filter="[<variable>length[]match[9]]" emptyMessage=<<else>>> <$set name="type" value="short"> {full code here 1} </$set> </$list> </$vars>
All that matters is that the alternate "else" does whatever task you want. The scope of all variables in TW is limited -- allways between two tags. Here a variable is set inside the emptyMessage, and then displayed so you an see that it was set and used. On Wednesday, May 20, 2020 at 9:19:59 AM UTC-7, Tony K wrote: > > I can't figure out how to set the value of a variable based on a specific > condition so, instead, I am writing the code twice > > e.g. > > <$list filter="[<variable>length[]match[9]]"> > <$set name="type" value="short"> > {full code here} > </$set> > </$list> > <$list filter="[<variable>length[]!match[9]]"> > <$set name="type" value="long"> > {full code here} > </$set> > </$list> > > this is not really efficient. > > I tried conditionally inserting the first line of the "$set" but it didnt' > work (as follows) even thought logically it should > > <$list filter="[<variable>length[]match[9]]"> > <$set name="type" value="short"> > </$list> > > <$list filter="[<variable>length[]!match[9]]"> > <$set name="type" value="long"> > </$list> > > {full code here} > </$set> > > > I am sure there is some kind of a workaround for this > > thanks for shedding any light > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/8551f5b1-f056-4c1e-b934-ac3d65910b3c%40googlegroups.com.