Best Practices in Rev development
Joe Lewis Wilkins
pepetoo at cox.net
Thu Jun 21 14:47:19 EDT 2007
I guess it's like sex. You have to try out all the positions to
recognize their attributes. Hmn! Am I allowed to say something like
that? But I can certainly see your point of view. (smile)
Joe Wilkins
On Jun 21, 2007, at 11:31 AM, Devin Asay wrote:
> Joe,
>
>
>> On Jun 21, 2007, at 11:02 AM, Stephen Barncard wrote:
>>
>>> for me a great advantage of SWITCH is the opportunity for fast
>>> and easy multiple if statements done this way instead:
>>>
>>> SWITCH pKey
>>> CASE "B"
>>> CASE return
>>> CASE "P"
>>> printThePage
>>> default
>>> doDefaultThing
>>> END SWITCH
>>>
>>> easy to read, easy to write.
>
> On Jun 21, 2007, at 12:07 PM, Joe Lewis Wilkins wrote:
>
>> I agree, much cleaner and easier to follow and write, so long as
>> you don't forget to exit each of the case statements so as not to
>> have subsequent ones executed as well. I believe this is a feature
>> in Rev, though I'd prefer if it weren't.
>
> Until this week I might have agreed with you--the concept that a
> case statement would automatically match subsequent cases unless
> you explicitly add a 'break' command seemed bothersome and obscure.
> But then I began making some changes to a scheduling program I am
> working on. I wanted to do one thing if the scheduled event fell in
> the 1st or 2nd week of the month and something else if it fell in
> the 3rd or 4th week and something else still if it fell in the 5th
> week.
>
> I could have said
>
> switch tWeeknum
> case 1
> doThing1
> break
> case 2
> doThing1
> break
> case 3
> doThing2
> break
> case 4
> doThing2
> break
> case 5
> doThing3
> break
> end switch
>
> Instead, I was able to use the very quick and readable:
>
> switch tWeeknum
> case 1
> case 2
> doThing1
> break
> case 3
> case 4
> doThing2
> break
> case 5
> doThing3
> break
> end switch
>
> It was the first time I'd found this feature useful, and now I'm
> really glad it's there. Suddently the 'break' statements don't seem
> so irksome.
>
> Regards,
>
> Devin
More information about the use-livecode
mailing list