comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R.Carter" <spam.jrcarter.not@spam.acm.org.not>
Subject: Re: Ok - WHAT are those "Maps.Identity" things ???
Date: Fri, 7 Jan 2022 10:49:54 +0100	[thread overview]
Message-ID: <sr92c3$ovp$1@dont-email.me> (raw)
In-Reply-To: <WcidnROWEIzHNUr8nZ2dnUU7-b3NnZ2d@earthlink.com>

On 2022-01-07 03:41, 1.AAC0832 wrote:
>>
>> and lists 6 functions named Index (and 2 for Index_Non_Blank). Of these I 
>> mostly use the one at paragraph 9:
>>
>> 9  function Index (Source   : in String;
>>                     Pattern  : in String;
>>                     Going    : in Direction := Forward;
>>                     Mapping  : in Maps.Character_Mapping
>>                                  := Maps.Identity)
>>        return Natural;
>>
>> with the defaults for the last 2 parameters. Occasionally I've used a Going => 
>> Backward,
> 
> 
>    I'm using unbounded strings and there's a version in
>    that library with the same params - but Gnat seems
>    to DEMAND the last two params. Might try the fixed
>    library by casting my unbounded to string ...

I missed that detail in your original msg. Ada.Strings.Unbounded (ARM A.4.5) has 
similar Index functions, but note that Source is Unbounded_String and Pattern is 
String. As Brukardt said, without more detail we can't tell what is really going 
on, but my experience is that GNAT will not require defaulted parameters. More 
likely GNAT is trying to do overload resolution when there is no visible 
subprogram that matches the parameters you are passing; the resulting error msgs 
are not clear.

Experienced Ada users find that Unbounded_String is needed a lot less than is 
expected by people coming from languages where strings are magic. Unless you 
need data structures with varying-length strings, you don't often need them.

>    I've been programming since a tad before the dawn of the
>    Apples and Commodores - punch cards and serial terminals
>    wired to the mini-mainframe, FORTRAN, COBOL, that horrible
>    stuff. For some reason I just can't grock a lot of the Ada
>    docs. Lots and lots of DESCRIPTIONS about how to do things
>    but a "picture" is worth a thousand words ...

I also started out with FORTRAN-66 on punched cards, but my experience is the 
opposite: Ada (without the features that were mistakes) supports very well the 
way I engineer S/W.

-- 
Jeff Carter
"Hello! Smelly English K...niggets."
Monty Python & the Holy Grail
08

  reply	other threads:[~2022-01-07  9:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05  0:54 Ok - WHAT are those "Maps.Identity" things ??? 1.AAC0831
2022-01-05  5:49 ` Rod Kay
2022-01-07  2:31   ` 1.AAC0832
2022-01-07  3:39     ` Gautier write-only address
2022-01-07  4:14     ` Randy Brukardt
2022-01-10  5:13       ` 1.AAC0832
2022-01-10 10:19         ` Marius Amado-Alves
2022-01-11  5:20           ` 1.AAC0832
2022-01-07 11:48     ` G.B.
2022-01-10  4:49       ` 1.AAC0832
2022-01-05 13:01 ` Jeffrey R.Carter
2022-01-07  2:41   ` 1.AAC0832
2022-01-07  9:49     ` Jeffrey R.Carter [this message]
2022-01-10  4:46       ` 1.AAC0832
2022-01-10 15:05         ` Simon Wright
2022-01-11  5:17           ` 1.AAC0832
2022-01-11 11:33             ` Niklas Holsti
2022-01-12  4:22               ` 1.AAC0832
replies disabled

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