comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Thought this was funny
Date: Wed, 22 Oct 2003 09:31:38 +0200
Date: 2003-10-22T09:31:38+02:00	[thread overview]
Message-ID: <msbcpvougdhhlu5i4n7v4g3ql01toot1cs@4ax.com> (raw)
In-Reply-To: mailman.164.1066805910.25614.comp.lang.ada@ada-france.org

On Wed, 22 Oct 2003 08:44:44 +0200 (MET DST),
christoph.grein@eurocopter.com wrote:

>> case <boolean expression> is
>>   when true =>
>>        <do something>
>>
>>   when false =>
>>        <do something else>
>>
>> end case;
>
>What's so funny about this code. I also normally use if-statements with booleans but 
>there are circumstances where a case statement seems more appropriate to the 
>problem at hand.
>
>Take e.g. kind of double-buffering. I use an array indexed by Boolean and switch 
>via
>  "X := not X;"
>
>In such cases, neither True nor False denote something which is wrong or right, 
>so I prefer the case statement.
>
>Switching with a two-valued enumeration is not so elegant, you need a switch 
>table or a case statement instead of the simple "X := not X;".

This is not elegant, but it should work for all enumeration types
having two values:

 X := Enumeration'Val (1 - Enumeration'Pos (X));

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  reply	other threads:[~2003-10-22  7:31 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-22  6:44 Thought this was funny christoph.grein
2003-10-22  7:31 ` Dmitry A. Kazakov [this message]
2003-10-22  8:48   ` Vinzent 'Gadget' Hoefler
2003-10-23  2:17 ` Wes Groleau
  -- strict thread matches above, loose matches on Subject: below --
2003-10-21 19:49 Xenos
2003-10-21 20:26 ` Ching Bon Lam
2003-10-21 20:44   ` Lutz Donnerhacke
2003-10-21 20:36 ` Ed Falis
2003-10-21 21:08 ` Stephane Richard
2003-10-21 22:16   ` Robert I. Eachus
2003-10-21 22:24     ` Ed Falis
2003-10-22  0:36       ` Robert I. Eachus
2003-10-22  1:37         ` Ed Falis
2003-10-22  3:56           ` Robert I. Eachus
2003-10-22 13:44             ` Ed Falis
2003-10-21 23:13     ` Georg Bauhaus
2003-10-22  0:23     ` Alexandre E. Kopilovitch
2003-10-21 22:23   ` Simon Wright
2003-10-22  2:57 ` Steve
2003-10-22  6:26 ` Anders Wirzenius
2003-10-22  6:36 ` Vinzent 'Gadget' Hoefler
2003-10-22 12:38   ` Christopher J. Henrich
2003-10-22 15:00 ` Martin Dowie
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox