comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@arcor.de>
Subject: Re: Easy question about Character manipulation
Date: Mon, 29 Jan 2007 22:30:18 +0100
Date: 2007-01-29T22:30:15+01:00	[thread overview]
Message-ID: <1170106218.6329.63.camel@localhost> (raw)
In-Reply-To: <1d5n0ksoz75yy.3t2hhxjr35fq$.dlg@40tude.net>

On Mon, 2007-01-29 at 21:17 +0100, Dmitry A. Kazakov wrote:
> On 29 Jan 2007 12:01:00 -0800, mark wrote:
> 
> > I am quite newbie to ada. I have declared something like that:
> > size: Integer := 9;
> > emptySpaces : array (0..size) of Character := "0123456789";
> > textLine : array (0..size * 3) of Character;
> 
> (must be (size+1)*3-1. Indexing from 0 is an evil thing, trust me! (:-))
> 
> > Now I would like to have the possibility to initialize textLine 
> > variable, but when I write:
> > textLine := "9876543210" & emptySpaces & "9876543210";
> > 
> > I got an error 'expected type of textLine' ,'found type od 
> > emptySpacs...'. I know it is connected with very deep contstaint 
> > checks
> 
> Yes, emptySpaces and textLine have different types.

Yes, and these two different types are *anonymous* types.
This means, you have not given them (the types) a name. The
  array (...) of
both "look" like some array of characters, and they are.
But they are not the same array type because there is no
type name. (Only the object names "emptySpace" and "textLine".)

Unlike Pascal, for example, types in Ada are different when
they have different names. The types of emptySpace and
textLine have no names at all, being anonymous (unnamed)
array types. So they don't have the same name, so to speak.

Consider this

declare
   type My_Array is array (1 .. 10) of Character;
   type Your_Array is array (1 .. 10) of Character;
   x: My_Array;
   y: Your_Array;
begin
   x := y;
end;
   
This won't compile. Ada doesn't permit assignment for objects (x, y)
of different types (My_Array, Your_Array) even when they show the
same structure (array (1 .. 10) of Character)--but different names.






  reply	other threads:[~2007-01-29 21:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-29 20:01 Easy question about Character manipulation mark
2007-01-29 20:17 ` Dmitry A. Kazakov
2007-01-29 21:30   ` Georg Bauhaus [this message]
2007-01-30  0:51     ` (see below)
2007-01-30  1:43       ` Georg Bauhaus
2007-01-30  2:09         ` (see below)
2007-01-30 20:18           ` Robert A Duff
2007-01-30 21:07             ` (see below)
2007-01-30 22:05               ` Robert A Duff
2007-01-31  3:07                 ` (see below)
2007-01-31 18:11               ` Jeffrey R. Carter
2007-01-31 21:02                 ` (see below)
2007-01-31 23:01                   ` Robert A Duff
2007-01-31 23:23                     ` (see below)
2007-01-31 23:46                   ` Jeffrey R. Carter
2007-02-01  0:07                     ` (see below)
2007-01-30 21:08             ` Dmitry A. Kazakov
2007-01-31 16:54           ` Georg Bauhaus
2007-01-31 17:24             ` (see below)
2007-01-30 12:28 ` Martin Krischik
2007-01-30 17:50   ` Jeffrey R. Carter
2007-01-30 20:24     ` Robert A Duff
2007-01-30 21:12       ` Dmitry A. Kazakov
2007-01-30 21:39         ` Robert A Duff
2007-01-31 10:55           ` Dmitry A. Kazakov
2007-01-31 11:22           ` Martin Krischik
2007-01-31 18:14       ` Jeffrey R. Carter
replies disabled

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