Writing Extensions

Kay C Lan lan.kc.macmail at gmail.com
Wed May 24 15:03:12 CEST 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