Writing Extensions
Kay C Lan
lan.kc.macmail at gmail.com
Wed May 24 09:03:12 EDT 2017
On Wed, May 24, 2017 at 8:25 PM, Mark Waddingham via use-livecode
<use-livecode at lists.runrev.com> wrote:
>
Thanks Mark for the explanation.
> choose tValue
> when 1
> when 2
> when 3
> -- executes if tValue is 1, 2 or 3
> -- never falls through
>
> when 4
> -- never falls through
>
> default
> end choose
>
> This caters for both cases (1) and (2) and is unambiguous.
>
Whilst I certainly like the above and think it an improvement, if I
were to 'step back' and redesign Switch I think I'd make it clearer
that 'fall through' is just an OR - it took me ages to realise and
I've have very very long: case ((....) OR (....) OR (....) ....) which
were extremely long and very hard to read until I rewrote them as
case
case
case
case
---do something
break
What I can't currently solve is the many case ((.....) AND (,,,,) AND
(....) AND (...)... )
So, again if I were reinventing Switch:
choose tVale
when 1
or 2
or 3
--do something
-- no further fall through
when > 6
and < 60
and even
--do something else
--no further fall through
when 4
--do another thing
default
--some other thing
end choose
Just makes it clear that fall through is being used to combine the
statements, but in my design it isn't just restricted to OR.
More information about the use-livecode
mailing list