From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Question on variant/discriminated records
Date: Thu, 31 Dec 2020 16:03:54 +0100 [thread overview]
Message-ID: <rskp8n$1feq$1@gioia.aioe.org> (raw)
In-Reply-To: 3c1a2fe9-e8f2-401f-870d-aecd9e0f9c69n@googlegroups.com
On 2020-12-31 11:38, reinert wrote:
> Assume the following program and change "y1" to "y".
>
> procedure test3 is
> type options1_Type is (a,b,c);
> type rec1_Type(option1 : options1_Type) is
> record
> x : Float;
> case option1 is
> when a => null;
> when b => y : float;
> when c => y1,z : float;
> end case;
> end record;
> begin
> null;
> end test3;
>
> My compiler does not like this change. I find it not natural to invent
> a new name "y1" instead of "y". What should I do?
Use nested choice:
type rec1_Type (option1 : options1_Type) is record
x : Float;
case option1 is
when a =>
null;
when b | c =>
y : float;
case option1 is
when c =>
z : float;
when others =>
null;
end case;
end case;
end record;
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2020-12-31 15:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-31 10:38 Question on variant/discriminated records reinert
2020-12-31 10:52 ` J-P. Rosen
2020-12-31 12:24 ` reinert
2020-12-31 12:46 ` Gautier write-only address
2020-12-31 12:57 ` reinert
2020-12-31 13:29 ` DrPi
2020-12-31 16:06 ` Gautier write-only address
2020-12-31 15:03 ` Dmitry A. Kazakov [this message]
2021-01-01 9:19 ` reinert
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox