Дополнение к ответу Frédéric Praca:
В зависимости от ваших потребностей вы можете использовать пакет ASCII
вместо Ada.Characters.*
(например, Latin_1, Latin_9, Wide_Latin_ .. и т. Д.). ASCII
не может быть with
'ed, поскольку это не пакет, поэтому вам придется все префиксировать (или определять «псевдонимы», используя renames
)
declare
flex : constant String := "Foo" & ASCII.CR & "bar" & ASCII.LF;
flux : constant String := "Foo" & ASCII.CR
& "bar" & ASCII.LF;
begin
-- do stuff
null;
end;
Oneможет определить пользовательский оператор &
, чтобы использовать его в качестве новой точки вставки строки. Но ... насколько это полезно?
function Foo (Left, Right : String) return String renames "&";
function Boo (Left : String; Right : Character) return String renames "&";
function "&" (Left, Right : String) return String is begin
return Foo (
Boo (Left, ASCII.LF),
Right);
end "&";
Ada.Text_IO.Put_Line("Foo" &
"bar");