3.6.3 String Types

From OC Systems Wiki!
Jump to: navigation, search

Static Semantics

A one-dimensional array type whose component type is a character type is called a string type.

There are two predefined string types, String and Wide_String, each indexed by values of the predefined subtype Positive; these are declared in the visible part of package Standard:

subtype Positive is Integer range 1 .. Integer'Last;

type String is array(Positive range <>) of Character;
type Wide_String is array(Positive range <>) of Wide_Character;

Notes

49  String literals (see 2.6 and 4.2) are defined for all string types. The concatenation operator & is predefined for string types, as for all nonlimited one-dimensional array types. The ordering operators <, <=, >, and >= are predefined for string types, as for all one-dimensional discrete array types; these ordering operators correspond to lexicographic order (see 4.5.2).

Examples

Examples of string objects:

 Stars      : String(1 .. 120) := (1 .. 120 => '*' );
 Question   : constant String  := "How many characters?"; 
                    -- Question'First = 1, Question'Last = 20 
                    -- Question'Length = 20 (the number of characters)

  Ask_Twice  : String  := Question & Question;       -- constrained to (1..40) 
  Ninety_Six : constant Roman   := "XCVI";           -- see 3.5.2 and 3.6

Copyright © 1992,1993,1994,1995 Intermetrics, Inc.
Copyright © 2000 The MITRE Corporation, Inc. Ada Reference Manual