I would add that not withstanding the limitations you ask about there are few limits to filters the trick is learning how to ask the question. I think can think of two facts about filters
With all the operators available each run within a filter can transform the result of the previous run in many ways. The key question is what result will you have at the end.
Each filter can make use of the output of macros, variables and fields including other filters. If you need an intermediate result don't hesitate to nest filters. Using set which has a filter option or the use triple curly braces to provide the result of any filter to any parameter.
You may think my response seems off topic but to me its about learning to work with the tools a different way to achieve the same result. Any of us enthusiasts would love the chance to achieve the apparently impossible if you can produce an example which suggests its incomplete. If you do you would get a gold star and a solution would be developed.
By the way Evans formula plugin may not have this limitation.
Regards
Tony
I think of a filter as a seive that only lets particular things through. In that case the only arrays are the input and the output.
Tony
--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/a39b7494-f723-4c0b-8f41-4ccff9423130%40googlegroups.com.
[...] If you need an intermediate result don't hesitate to nest filters.
[...] if you can produce an example which suggests its incomplete. If you do you would get a gold star and a solution would be developed.
[...] The arrays aren’t stored in variables or named, so it isn’t possible to select/refer to any other arrays.
[...] filters would be a lot more powerful if they could work with more complex structures, particularly dictionaries of key:value pairs.
<$list filter="[tag[Languages]]">
Title=<<currentTiddler>><br>{{!!text}}<br>
</$list>
<hr>
<$list filter="[tag[Languages]]">
Title=<<currentTiddler>><br><$text text={{{ [all[current]get[text]] }}}/><br>
</$list><<nested-filters "[tag[Languages]]" "[<f1>get[text]]" """Title: <<f1>> vlue: <<f2>>""">>
:Or
<<nested-filters "[tag[Languages]]" "[<f1>get[text]]" """
Title: <<f1>> vlue: <<f2>>
""">>
:Or with a macrocall
<$list filter="[!is[system]has[caption]] +[addprefix{!!caption}addprefix[:]]">
</$list>filter="[!is[system]has[caption]] &[get[title]addprefix{!!caption}addprefix[:]]"
Resulting incaption1:tiddlername1caption2:tiddlername2Or
\define break() :<br>
filter="[tag[Languages]] &[addsuffix[<break>]get[text]]"
Resulting in
tiddlername1:
tiddler text1
tiddlername2
tidler text2