comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R.Carter" <spam.jrcarter.not@spam.acm.org.not>
Subject: Re: problemn with string'last
Date: Fri, 5 May 2023 13:17:49 +0200	[thread overview]
Message-ID: <u32okt$2aep1$1@dont-email.me> (raw)
In-Reply-To: <2bc1705c-7802-4e89-960f-9b566d376f3cn@googlegroups.com>

On 2023-05-05 11:51, Daniel Gaudry wrote:
>   
>     Ada.Text_Io.Put_Line("     05   10   15   20   25   30   35   40   45   50   55   65   70   75   80   85   90");
>     Ada.Text_Io.Put_Line(" ....|....!....|....!....|....!....|....!....|....!....|....!....|....!....|....!....|....!");
>     Ada.Text_Io.Put_Line("»" & Data & "« " & Data'Last'Img);

As Kazakov pointed out, your scale is incorrect.

However, it's important to remember that 'Last is not necessarily the same as 
'Length because 'First is not necessarily one. This is especially important in 
subprograms that take String parameters, as they are often passed slices.

Some questions:

>    Double_Quote : constant String(1 .. 1) := (others => '"' );

ARM 2.1(15/3) 
(http://www.ada-auth.org/standards/aarm12_w_tc1/html/AA-2-1.html#I1199) defines 
the name of '"' as "quotation mark". Why do you refer to a single quotation mark 
as Double_Quote?

>    Data         : constant String         := "  PLUS_STRING    : CONSTANT STRING(1..3) :=(1 =>'" & Double_Quote & "' , 2 =>'+' , 3 =>'" & Double_Quote & ");";

Wouldn't it be simpler and clearer to write this as

Data : constant String := "  PLUS_STRING : CONSTANT STRING := " & '"' & '+' & '"';

? Note also that you seem to be missing an apostrophe (''') before the right 
parenthesis if you intend Data to be a valid Ada declaration.

-- 
Jeff Carter
"All citizens will be required to change their underwear
every half hour. Underwear will be worn on the outside,
so we can check."
Bananas
29

  parent reply	other threads:[~2023-05-05 11:17 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-05  9:51 problemn with string'last Daniel Gaudry
2023-05-05 10:02 ` Dmitry A. Kazakov
2023-05-05 11:17 ` Jeffrey R.Carter [this message]
2023-05-05 12:08   ` Dmitry A. Kazakov
2023-05-05 16:28   ` Manuel Gomez
2023-05-05 16:33     ` Simon Wright
2023-05-05 18:18       ` Manuel Gomez
2023-05-05 19:52         ` J-P. Rosen
2023-05-05 20:44         ` Simon Wright
2023-05-05 23:27           ` 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