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.

Reply via email to