switch case question
Kay C Lan
lan.kc.macmail at gmail.com
Tue Oct 31 05:22:46 EST 2006
On 10/22/06, Martin Baxter <mb.userev at harbourhosting.co.uk> wrote:
> put gtimedtest is empty into isempty
> switch isempty
> case true
> stuff
> break
> case false
> other stuff
> break
> end switch
I've come into this a little late, no internet for a week or so, but
be aware that switch is slower than if-then-else-end if, no matter who
many nested ifs are required to do 'the same' as a mult-case switch
statement. It's only a couple of milliseconds over 1000 executions,
but it is slower.
If what you want is as stated, then I think you'd be better served by:
if (gTimeTest is empty) then
--do empty stuff
else
--do full stuff
end if
Having said that, I've started to use switch a lot because what
appears at first glance to be a simple yes/no,true/false,black/white,
after a week of tweaking I realise that yes/no/maybe,true/false/no
comment, and black/white and all the other colours of the rainbow also
need to be considered: and this is where switch is so easy to read and
understand.
Here is another version for your switch command:
switch
case (gTimeTest is empty)
--do empty stuff
break
default
-- do full stuff
end switch
Which then makes it easy when you decide to do things based on the
exact contents of gTimeTest
switch
case (gTimeTest = "1:00")
revSpeak "It's one o clock"
break
case (gTimeTest = "2:00")
revSpeak "It's too o clock"
break
...
...
case (gTimeTest contains ":30")
beep
break
case (gTimeTest is not empty)
--do whatever
default
answer "There is an error, gTimeTest is empty"
end switch
More information about the use-livecode
mailing list