ada
Attributbild
Sök…
Introduktion
Undertypattributen 'Image och 'Value tar respektive ett skalärt värde och en sträng och de returnerar respektive en sträng och ett skalarvärde. Resultatet av 'Image kan matas in till 'Value att få det ursprungliga värdet. Samtalet är också sant.
__Scalar_Object__'Image kan användas direkt på objekt (sedan Ada 2012-TC-1).
Syntax
- funktion Scalar'Image (Argument: Scalar'Base) return String;
- funktion Discrete'Image (Argument: Discrete'Base) return String;
- funktion Integer'Image (Argument: Integer'Base) return String;
- funktion Enumeration'Image (Argument: Enumeration'Base) return String;
- funktion Real'Image (Argument: Real'Base) return String;
- funktion Numeric'Image (Argument: Numeric'Base) return String;
- funktion Scalar'Value (Argument: String) returnera Scalar'Base;
- funktion Discrete'Value (Argument: String) return Discrete'Base;
- funktion Integer'Value (Argument: String) returnerar Integer'Base;
- funktion Enumeration'Value (Argument: String) return Enumeration'Base;
- funktion Real'Value (Argument: String) returnera Real'Base;
- funktion Scalar_Object 'Image return String;
Anmärkningar
Observera att 'Image kan medföra implementeringsdefinierade resultat (RM 3.5), nämligen när vissa grafiska tecken som behövs för String inte definieras i Character . Tänk på de större repertoiresna av 'Wide_Image och 'Wide_Wide_Image .
Ada 2012 (TC-1)
Tillståndet att använda attributet __Scalar_Object__'Image direkt på ett objekt lades till i Ada 2012-TC-1 (april 2016).
Skriv ut flottören med attributet Bild
Ada 2012 (TC-1)
with Ada.Text_IO;
procedure Main is
type Some_Float digits 8 range 0.0 .. 10.0;
X : Some_Float := 2.71;
begin
Ada.Text_IO.Put_Line (X'Image);
end Main;
Resultat
2.71000E+00
Skriv ut heltal med bildattributet
Ada 2012 (TC-1)
with Ada.Text_IO;
procedure Main is
type Some_Integer is range -42 .. 42;
X : Some_Integer := 17;
begin
Ada.Text_IO.Put_Line (X'Image);
end Main;
Resultat
17
Skriv ut uppräkning med attributet Bild
Ada 2012 (TC-1)
with Ada.Text_IO;
procedure Main is
type Fruit is (Banana, Orange, Pear);
X : Fruit := Orange;
begin
Ada.Text_IO.Put_Line (X'Image);
Ada.Text_IO.Put_Line (Pear'Image);
end Main;
Resultat
ORANGE
PEAR
Skriv ut uppräkning med attributbild
with Ada.Text_IO;
procedure Main is
type Fruit is (Banana, Orange, Pear);
X : Fruit := Orange;
begin
Ada.Text_IO.Put_Line (Fruit'Image (X));
end Main;
Resultat
ORANGE
Skriv ut heltal med attributbild
with Ada.Text_IO;
procedure Main is
X : Integer := 17;
begin
Ada.Text_IO.Put_Line (Integer'Image (X));
end Main;
Resultat
17
Skriv ut Float med attributbild
with Ada.Text_IO;
procedure Main is
X : Float := 2.71;
begin
Ada.Text_IO.Put_Line (Float'Image (X));
end Main;
Resultat
2.71000E+00
Som Inverses
with Ada.Text_IO;
procedure Image_And_Value is
type Fruit is (Banana, Orange, Pear);
X : Fruit := Orange;
begin
Ada.Text_IO.Put_Line (Boolean'Image
(Fruit'Value (Fruit'Image (X)) = X
and
Fruit'Image (Fruit'Value ("ORANGE")) = "ORANGE"));
end Image_And_Value;
Resultat
TRUE
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow