From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: output and digits
Date: 20 Apr 2005 09:56:51 -0400
Date: 2005-04-20T09:56:51-04:00 [thread overview]
Message-ID: <wcc1x95361o.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: d42mue$2tc$1@achot.icm.edu.pl
"Staszek Goldstein" <goldstei@math.uni.lodz.pl> writes:
> > type Roman_Digit is ('I','V','X','L','C','D','M');
> > for Roman_Digit use ('I' => Character'('I')'val,
> > 'V' => ...);
> >
> > Then Unchecked_Conversion from Roman_Digit to Character will work.
> > Except that you then need to order the Roman_Digits in the same
> > order as in Character: "... is ('C', 'D', ..., 'X')".
>
> This works (if you correct it slightly to integer(character'pos('I')) - pos
> gives a universal integer!), but changing the order does not seem nice in a
> language like Ada...
Oops. Yeah, 'Pos is what you want. But you don't need the conversion
to Integer.
What you *really* want is:
subtype Roman_Digit is Character
restricted to ('I','V','X','L','C','D','M'); -- Not Ada!
or perhaps:
type Roman_Digit is new Character
restricted to ('I','V','X','L','C','D','M'); -- Not Ada!
Actually, it makes no sense to do arithmetic on roman numerals.
So if I were doing this, I would have two functions, for converting
integers to/from roman numerals represented as Strings.
You only need roman numerals for I/O. All internal processing
can be done in integers.
That's how you'd do it an any language.
- Bob
next prev parent reply other threads:[~2005-04-20 13:56 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-18 22:04 output of enumeration types Staszek Goldstein
2005-04-18 22:35 ` Larry Kilgallen
2005-04-18 22:43 ` Staszek Goldstein
2005-04-18 23:35 ` Staszek Goldstein
2005-04-19 0:07 ` Stephen Leake
2005-04-19 0:43 ` Staszek Goldstein
2005-04-19 4:56 ` Martin Krischik
2005-04-19 18:57 ` Jeffrey Carter
2005-04-20 0:40 ` Staszek Goldstein
2005-04-20 1:38 ` Jeffrey Carter
2005-04-19 0:33 ` Larry Kilgallen
2005-04-19 0:51 ` Staszek Goldstein
2005-04-19 23:40 ` Stephen Leake
2005-04-20 0:17 ` Staszek Goldstein
2005-04-20 9:53 ` Dmitry A. Kazakov
2005-04-20 23:16 ` Stephen Leake
2005-04-19 0:59 ` Staszek Goldstein
2005-04-19 1:54 ` Robert A Duff
2005-04-19 3:03 ` Larry Kilgallen
2005-04-19 10:34 ` output and digits Staszek Goldstein
2005-04-20 13:56 ` Robert A Duff [this message]
2005-04-20 19:53 ` Staszek Goldstein
2005-04-19 3:04 ` output of enumeration types Steve
2005-04-19 7:31 ` Dmitry A. Kazakov
2005-04-19 7:49 ` Szymon Guz
2005-04-19 8:11 ` Dmitry A. Kazakov
2005-04-19 11:26 ` Marius Amado Alves
2005-04-19 12:56 ` Dmitry A. Kazakov
2005-04-19 13:57 ` Marius Amado Alves
2005-04-19 16:05 ` Larry Kilgallen
2005-04-19 17:55 ` Georg Bauhaus
2005-04-19 21:39 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox