From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Array slices and types
Date: Wed, 20 Aug 2008 21:52:26 +0300
Date: 2008-08-20T21:52:26+03:00 [thread overview]
Message-ID: <48ac6750$0$23587$4f793bc4@news.tdc.fi> (raw)
In-Reply-To: <1k5uib98w8fgw.bno6vggps1p3.dlg@40tude.net>
Dmitry A. Kazakov wrote:
> On Wed, 20 Aug 2008 07:51:02 -0700 (PDT), Maciej Sobczak wrote:
>
>
>>Consider this:
>>
>> type Name is new String (1 .. 10);
>>
>> N : Name;
>>
>> Some_String : String := "abc";
>>
>>How can I assign Some_String to the beginning slice (ie. to the first
>>three characters) of N?
>>Everything that I can think of (short of copying characters
>>individually) hits the type compatibility problem.
>
>
> You need an unconstrained base type for this. In your case the base is
> anonymous. So name it:
>
> type Name_Base is new String; -- The base type is now named
> subtype Name is Name_Base (1..10);
> N : Name;
> Some_String : String := "abc";
> begin
> N (1..3) := Name_Base (Some_String);
Or you can use the 'Base attribute:
N(1..3) := Name'Base (Some_String(1..3));
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2008-08-20 18:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-20 14:51 Array slices and types Maciej Sobczak
2008-08-20 15:26 ` Niklas Holsti
2008-08-20 15:46 ` Dmitry A. Kazakov
2008-08-20 18:52 ` Niklas Holsti [this message]
2008-08-20 20:01 ` Simon Wright
2008-08-21 5:26 ` Niklas Holsti
2008-08-21 8:53 ` Dmitry A. Kazakov
2008-08-21 14:44 ` Adam Beneschan
2008-08-21 15:46 ` Dmitry A. Kazakov
2008-08-22 4:30 ` Randy Brukardt
2008-08-20 17:47 ` stefan-lucks
2008-08-20 17:51 ` stefan-lucks
2008-08-20 20:45 ` Adam Beneschan
2008-08-21 21:16 ` Maciej Sobczak
2008-08-23 2:50 ` Steve
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox