31 lines
849 B
Ada
31 lines
849 B
Ada
with Ada.Strings.Unbounded, Ada.Text_IO;
|
|
|
|
procedure Variadic is
|
|
|
|
subtype U_String is Ada.Strings.Unbounded.Unbounded_String;
|
|
use type U_String;
|
|
|
|
function "+"(S: String) return U_String
|
|
renames Ada.Strings.Unbounded.To_Unbounded_String;
|
|
|
|
function "-"(U: U_String) return String
|
|
renames Ada.Strings.Unbounded.To_String;
|
|
|
|
type Variadic_Array is array(Positive range <>) of U_String;
|
|
|
|
procedure Print_Line(Params: Variadic_Array) is
|
|
begin
|
|
for I in Params'Range loop
|
|
Ada.Text_IO.Put(-Params(I));
|
|
if I < Params'Last then
|
|
Ada.Text_IO.Put(" ");
|
|
end if;
|
|
end loop;
|
|
Ada.Text_IO.New_Line;
|
|
end Print_Line;
|
|
|
|
begin
|
|
Print_Line((+"Mary", +"had", +"a", +"little", +"lamb.")); -- print five strings
|
|
Print_Line((1 => +"Rosetta Code is cooool!")); -- print one string
|
|
end;
|