Re: [vote] Opinions about conditional built-in names?

Daniel Dekany <[email protected]> Tue, 2 Jun 2015 09:01:36 +0200
Newsgroups gmane.comp.web.freemarker.devel
Message-ID <[email protected]>
OK, so that's like a vote for "then". Anyone else has an opinion? Or
even just a vote on the name you prefer?

someBoolean?then(whenTrue, whenFalse)someBoolean?then(whenTrue, whenFalse)
or
someBoolean?choose(whenTrue, whenFalse)
or
something else?

-- 
Thanks,
 Daniel Dekany


Monday, June 1, 2015, 9:41:49 PM, Woonsan Ko wrote:

> On 6/1/15 3:26 PM, Daniel Dekany wrote:
>> Sunday, May 31, 2015, 7:50:20 PM, Woonsan Ko wrote:
>> 
>>> I personally prefer having the default value option inside the
>>> parenthesis, without having to depend on the default value after '!'.
>>> So, I like the idea the odd number of parameters for a default value.
>>>
>>> Regarding the original question about 'switch' and 'choose', I like the
>>> 'switch' very much, but I'm not sure if 'choose' is a good name for
>>> ternary operator. In XSL, 'choose' means just one choice of the
>>> 'switch'.
>> 
>> Actually, in XSLT "choose" stands for "switch" (and "when" stands for
>> "case"). But that just proves how confusing this word is... :)
>
> Oh you're right. Long time passed after I wrote XSL files last. :-D
>
>> 
>>> 'choose' sounds like related to one of the 'multiple' choices
>>> to me.
>> 
>> Well, I'm also unhappy with "choose", I just couldn't find better
>> yet... What do you think about "then". Apart from the lack of "else"
>> in it, it reads quite fluently: loggedIn?then(user.name, "unknown").
>
> Yeah, "then" sounds better to me than anything else.
>
>> 
>>> Another option to consider might be 'iif' [1], which seems a bit clearer
>>> to me than 'either' and others.
>>>
>>>     someBoolean?iif(whenTrue, whenFalse)
>>>
>>> Just my two cents,
>> 
>> I have played that idea back then, but I'm afraid very few knows what
>> does "iif" stands for. Also loggedIn?iif(user.name, "unknown") can be
>> easily misread like: we are logged in IF user.name is "unknown".
>
> Agreed. Not sound fluent.
>
> Kind regards,
>
> Woonsan
>
>> 
>>> Woonsan
>>>
>>> [1] http://en.wikipedia.org/wiki/IIf
>>>
>>> On 5/30/15 6:02 AM, Daniel Dekany wrote:
>>>> And regarding the semantics of ?switch... as it sands now, if there's
>>>> no matching choice, that will be an exception that says:
>>>>
>>>>   The value before ?switch(case1, value1, case2, value2, ...) didn't
>>>>   match any of the case parameters, and there was no default value
>>>>   parameter (an additional last parameter) either.
>>>>
>>>> So, if you have an odd number of parameters, then the last one is like
>>>> the default branch of switch in Java.
>>>>
>>>> I have also considered just returning null if there's no match, and
>>>> then one can write ?switch(...)!theDefault, but then if someone
>>>> doesn't give a default, the error messages will just say that
>>>> ?switch(...) has evaluated to null/missing, which many users won't
>>>> understand why's happening. Also it has the same problems as
>>>> ?then(this)!that had.
>>>>
>>>
>>>
>> 
>
>


------------------------------------------------------------------------------