Hello,
This is new feature introduced in one of recent BETAs
and
not available in "official" guide.
It is however described
here:
http://www.amibroker.com/guide/v50/keyword/switch.html
Best
regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "t_ohrt" <to56@xxxxxxxxx>
To: <amibroker@xxxxxxxxxps.com>
Sent:
Friday, May 25, 2007 6:23 PM
Subject: [amibroker] Re: Nested Switch()
statements
Interesting topic, but where in the Amibroker user´s guide
can I find
information covering the Switch()
function?
T.O.
--- In amibroker@xxxxxxxxxps.com,
"Tomasz Janeczko" <groups@xxx>
wrote:
>
>
Steve,
>
> No, I don't think it is worthwhile for speed
reasons.
> In AFL speed of execution of switch statement vs if-else is
almost
identical.
> The only reason for using switch is that the
code may look
> "cleaner".
>
> Best regards,
>
Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "Steve Dugas" <sjdugas@xxx>
> To: <amibroker@xxxxxxxxxps.com>
>
Sent: Friday, May 25, 2007 5:26 PM
> Subject: Re: [amibroker] Re:
Nested Switch() statements
>
>
> > Hi Tomasz - Do you
thnk it is worthwhile ( maybe speed increase,
for
> > example? )
to convert existing if-else if-else if... over to
Switch() ?
> >
Thank you!
> >
> > Steve
> >
> > -----
Original Message -----
> > From: "Tomasz Janeczko"
<groups@xxx>
> > To: <amibroker@xxxxxxxxxps.com>
>
> Sent: Friday, May 25, 2007 7:32 AM
> > Subject: Re:
[amibroker] Re: Nested Switch() statements
> >
> >
>
>> Hello,
> >>
> >> Frankly speaking
fall-through is one of BEST features of switch
()
> >>
statement.
> >> I use it thousands of times. Implementations
lacking that are
missing
> >> single most important thing in
switch() statement.
> >>
> >> K&R "The C
Programming Language" book is really recommended
reading.
>
>>
> >> Best regards,
> >> Tomasz
Janeczko
> >> amibroker.com
> >> ----- Original
Message -----
> >> From: "Nigel Rowe" <rho@xxx>
>
>> To: <amibroker@xxxxxxxxxps.com>
>
>> Sent: Friday, May 25, 2007 12:12 PM
> >> Subject: Re:
[amibroker] Re: Nested Switch() statements
> >>
>
>>
> >>> On Fri, 25 May 2007, Ton Sieverding
wrote:
> >>>> Can you please explain me why 'switch
statements are a frequent
> >>>> source of bugs' ? If the
last CASE is a DEFAULT then all
possible
> >>>> cases
are covered. Or am I missing something in the AFL SWITCH
>
>>>> statement ?
> >>>>
>
>>>> switch ( _expression_ )
> >>>> {
>
>>>> case constant-_expression_1 : statement;
>
>>>> case constant-_expression_2 : statement;
>
>>>> ...
> >>>> case constant-_expression_N
: statement;
> >>>>
> >>>> default :
statement;
> >>>>
> >>>> }
>
>>>>
> >>>>
> >>>>
Ton.
> >>>
> >>> The 'standard' error when
using a switch statement in 'C' and
presumably
> >>> AFL,
is forgetting to put 'break;' statements in.
> >>>
>
>>> To paraphrase your example (above) so it looks like
this:-
> >>>
> >>> switch ( _expression_
)
> >>> {
> >>> case constant-_expression_1
: statement1;
> >>> case constant-_expression_2 :
statement2;
> >>> ...
> >>> case
constant-_expression_N : statementN;
> >>> default :
statement_default;
> >>> }
> >>>
>
>>> If you leave out the break statements, and
> >>>
_expression_==constant_expression1 you will execute
statement1
(what you
> >>> wanted) AND ALSO statement2 AND
ALSO statement3 AND ALSO ...
statementN
> >>> AND ALSO
statement_default.
> >>>
> >>> It's sometimes
called the 'fall-through' bug. It's easy to
miss, can be
>
>>> a right pain!
> >>>
> >>>
>
>>> --
> >>> Nigel Rowe
> >>> rho
\N{COMMERCIAL AT} swiftdsl \N{FULL STOP} com \N{FULL STOP}
au
>
>>>
> >>>
> >>>
> >>>
Please note that this group is for discussion between users
only.
>
>>>
> >>> To get support from AmiBroker please send
an e-mail directly to
> >>> SUPPORT {at}
amibroker.com
> >>>
> >>> For NEW RELEASE
ANNOUNCEMENTS and other news always check
DEVLOG:
> >>> http://www.amibroker.com/devlog/
>
>>>
> >>> For other support material please check
also:
> >>> http://www.amibroker.com/support.html
>
>>>
> >>> Yahoo! Groups Links
>
>>>
> >>>
> >>>
>
>>>
> >>>
> >>
> >>
>
>> Please note that this group is for discussion between users
only.
> >>
> >> To get support from AmiBroker please
send an e-mail directly to
> >> SUPPORT {at}
amibroker.com
> >>
> >> For NEW RELEASE
ANNOUNCEMENTS and other news always check DEVLOG:
> >> http://www.amibroker.com/devlog/
>
>>
> >> For other support material please check
also:
> >> http://www.amibroker.com/support.html
>
>>
> >> Yahoo! Groups Links
> >>
>
>>
> >>
> >>
> >
> >
>
>
> >
> > Please note that this group is for discussion
between users only.
> >
> > To get support from AmiBroker
please send an e-mail directly to
> > SUPPORT {at}
amibroker.com
> >
> > For NEW RELEASE ANNOUNCEMENTS and
other news always check DEVLOG:
> > http://www.amibroker.com/devlog/
>
>
> > For other support material please check also:
> >
http://www.amibroker.com/support.html
>
>
> > Yahoo! Groups Links
> >
> >
>
>
> >
> >
>
Please note that this group is
for discussion between users only.
To get support from AmiBroker
please send an e-mail directly to
SUPPORT {at} amibroker.com
For
NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For
other support material please check also:
http://www.amibroker.com/support.html
Yahoo!
Groups Links