Hey Evan,

<$if value="(=gt(2,3)=)">
yes
</$if>
<$else>
no
</$else

I can't get no to show, even with 


   - value=(=gt(2,3)=)
   - value="gt(2,3)"
   - value="(=gt(2,3)=)"

The only way I can is by setting:


value="FALSE"


myself. Even though (=gt(2,3)=) does indeed return FALSE.

On Saturday, December 30, 2017 at 4:52:58 PM UTC-6, Evan Balster wrote:
>
> Qualifying the last message because I spoke a bit too quickly and don't 
> want to be blithe:
>
> TiddlyWiki doesn't do nested string expressions, macros notwithstanding, 
> and Jeremy has suggested that the current design forces too much dependence 
> on macros.  That's a motivator for my work on the formula plugin.
>
> On Saturday, 30 December 2017 16:48:47 UTC-6, Evan Balster wrote:
>>
>> Honestly, stuff like that is why I'm making the formula widget.  
>> TiddlyWiki doesn't do nested expressions, formula does.  The only missing 
>> piece is a transclude function accepting a string (or a family of these...).
>>
>> On Saturday, 30 December 2017 16:46:54 UTC-6, coda coder wrote:
>>>
>>>
>>>
>>> On Saturday, December 30, 2017 at 4:28:12 PM UTC-6, Evan Balster wrote:
>>>>
>>>> Oh, wait, sorry, shoot.  That won't work at all, it'll just expand to 
>>>> the string of the transclusion.
>>>>
>>>
>>> Right.  And why I said (wished) $if accepting a TextReference (like 
>>> state does for $reveal).  I'm hinting that if a preparse returned you 
>>> something with !! then you could support them (and then the wikification 
>>> would work - right?)
>>>
>>> But it's probably a step too far (plus you'd have the only widget that 
>>> supported both on the entire planet)  ;)  Too confusing is my guess.
>>>
>>>
>>>
>>>> Yeah, you're going to have to set another variable, or use <$tiddler> 
>>>> or something.
>>>>
>>>> On Saturday, 30 December 2017 16:27:12 UTC-6, Evan Balster wrote:
>>>>>
>>>>> OK, so this is a classic case of "TiddlyWiki macro expansion is 
>>>>> confusing as heck".  You can't put a <<macro>> (or variable) inside a 
>>>>> {{transclusion}}, either in WikiText or in attributes.  You *can* 
>>>>> expand specific variables inside macros, but it uses a dollar sign syntax.
>>>>>
>>>>> In your case, just move the curly braces to be inside the macro (or 
>>>>> another new macro).
>>>>>
>>>>> <$if not value=<<get-note-state>> match="show">
>>>>>
>>>>> \define get-note-state() 
>>>>> {{$:/temp/state/$(currentTiddler)$-$(_notetype)$-$(unique)$}}
>>>>>
>>>>> On Saturday, 30 December 2017 15:44:14 UTC-6, coda coder wrote:
>>>>>>
>>>>>> Edited for typos:
>>>>>>
>>>>>> Thanks Evan... I did wonder about that, too.  So, do you think this 
>>>>>> should work? (I'm trying to keep to a minimum the alien code you need to 
>>>>>> digest :)
>>>>>>
>>>>>> Original:
>>>>>> <$reveal type="nomatch" state=<<get-authornote-state>> text="show">
>>>>>>
>>>>>> $if:
>>>>>> <$if not value={{<<get-note-state>>}} match="show">
>>>>>>
>>>>>> \define get-note-state() 
>>>>>> $:/temp/state/$(currentTiddler)$-$(_notetype)$-$(unique)$
>>>>>>
>>>>>> LOL... I think I *am* going to need another var :)
>>>>>>
>>>>>>
>>>>>> On Saturday, December 30, 2017 at 3:32:05 PM UTC-6, Evan Balster 
>>>>>> wrote:
>>>>>>>
>>>>>>> Hey, Coda —
>>>>>>>
>>>>>>> The substitution in your example there *should* work fine, so I 
>>>>>>> suspect the trouble lies elsewhere.  For example, this works:
>>>>>>>
>>>>>>> \define testSearchBar(field)
>>>>>>> <$if value={{$:/temp/search!!$field$}} match="yes">
>>>>>>> Search is "yes"
>>>>>>> </$if>
>>>>>>> \end
>>>>>>>
>>>>>>> <<testSearchBar text>>
>>>>>>>
>>>>>>> Remember that a macro can't define *only* the opening tag of a 
>>>>>>> widget; it needs to define the content and closing tag as well...
>>>>>>>
>>>>>>> On Saturday, 30 December 2017 15:24:20 UTC-6, coda coder wrote:
>>>>>>>>
>>>>>>>> Hi Evan...
>>>>>>>>
>>>>>>>> On Friday, December 29, 2017 at 11:54:54 PM UTC-6, Evan Balster 
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> As compared with the closely-related *$reveal* widget, conditions 
>>>>>>>>> are simpler, behave more like *$list*, and can be executed as a 
>>>>>>>>> chain.  They don't retain contents or animate, and can be based on 
>>>>>>>>> variables, filtered or transcluded attributes rather than just state 
>>>>>>>>> tiddlers.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> I'm no expert but, I think there's a reason that Jeremy chose to 
>>>>>>>> use a TextReference for use by the state attribute of the $reveal 
>>>>>>>> widget.  
>>>>>>>> When I just tried to switch one out for the $if widget, I hit a snag:
>>>>>>>>
>>>>>>>> <$reveal type="match" state="someTiddler!!$switch$" text="yes">
>>>>>>>>
>>>>>>>> Note that the field part of the reference is supplied as a 
>>>>>>>> parameter to the outer macro wherein this line occurs.  I don't see a 
>>>>>>>> way 
>>>>>>>> to directly replace the above using the $if widget -- the following of 
>>>>>>>> course does not work:
>>>>>>>>
>>>>>>>> <$if value={{$:/.rgt/bk/author-data!!$switch$}} match="yes">
>>>>>>>>
>>>>>>>> Do you think it possible to make TextReferences work with $if?  
>>>>>>>> Otherwise, the neater and much more readable $if widget would need a 
>>>>>>>> needless variable ($wikify?) to prepare the transclusion value for its 
>>>>>>>> use 
>>>>>>>> by $if (I think).  Right?
>>>>>>>>
>>>>>>>> Hope that made sense...
>>>>>>>>
>>>>>>>> Coda
>>>>>>>>
>>>>>>>

-- 
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 post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/774809af-6702-4449-b11b-85be9866520b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to