From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,48b3e9df2fd37d9d X-Google-Attributes: gid103376,public From: dewarr@my-dejanews.com Subject: Re: unconstrained array clarification Date: 1998/09/19 Message-ID: <6u0e9t$gj0$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 392724979 References: X-Http-Proxy: 1.0 x4.dejanews.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Sat Sep 19 14:15:25 1998 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/2.02 (OS/2; I) Date: 1998-09-19T00:00:00+00:00 List-Id: In article , WishList@2600.com (Technobabble) wrote: > Ok, thanks ! Now what if all I have is an unconstrained array type like this: > > type xyz_array is array (integer <>) of integer; -- this is it > type xyz_array_pointer is access xyz_array; > type xyz_array_pointer_array is array (1..100) of xyz_array_pointer; > > type Object is > record > XYZ : xyz_array_pointer_array; > abc : integer; > end record; > > Now I declare an Object, > > This : Object; -- record is not constrained, legal or not? > > Now I want to have say a 5 element xyz_array: > > xyz5_array : xyz_array (1..5); > > and I assign my pointer > > This.XYZ(1) := xyz5_array'ACCESS; -- address of xyz_array type is assigned > > now I want to loop: > > for I in This.XYZ(1)'RANGE > loop > .......... > > ???? Will this work ??? Is the syntax totally incorrect ??? > > help !!! > > Richmond One useful rule for you at this stage is NEVER EVER use the access attribute. It is for specialized uses, but should hardly be used at all in normal programming. If you feel the urge to use it at this level, you have not got the proper semantic feel for Ada, but are trying instead to write C in Ada, much as a Fortran-66 programmer might end up writing lots of gotos in Ada. Just use the rule for yourself that Ada does not have an access attribute, and figure out how to solve your problem, you will learn much faster that way. Then when you really understand why the access attribute is almost never used, you will be ready to learn about the rare cases in which its use is justified. By the way, your example code contains no discriminants, so talking about whether your records are constrained or unconstrained is completely wrong. If there are no discriminants around, then of course all your records are constrained. It is VERY important to get the terminology right here. Go back to Barnes, and make sure you understand these terms! -----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum