खोज…


वाक्य - विन्यास

  • फ़ंक्शन एन्यूमरेशन ' छवि (तर्क: एन्यूमरेशन'बेस) रिटर्न स्ट्रिंग;
  • फ़ंक्शन एन्यूमरेशन ' Img वापसी स्ट्रिंग; - GNAT
  • समारोह Enumeration'Val (तर्क: Universal_Integer) Enumeration'Base वापस;
  • फ़ंक्शन Enumeration'Pos (तर्क: Enumeration'Base) Universal_Integer लौटाता है;
  • फ़ंक्शन Enumeration'Enum_Rep (तर्क: Enumeration'Base) Universal_Integer लौटाता है;
  • फ़ंक्शन लिटरल 'Enum_Rep वापसी Universal_Integer; - GNAT
  • समारोह शाब्दिक 'पता वापसी प्रणाली।
  • गणना उपयोग के लिए (लिटरल_1 => यूनिवर्सल_इंटर , लिटरल_ एन => यूनिवर्सल_इंटर );
  • ( एन्युमरेशन में शाब्दिक ) बुलियन वापसी;

शाब्दिक शाब्दिक

एन्यूमरेशन के अंदर एक शाब्दिक एक असतत प्रकार है इसलिए हम विशेषता Image का उपयोग यह पता लगाने के लिए कर सकते हैं कि यह पाठ के रूप में कौन सा शाब्दिक है। ध्यान दें कि यह कोड के समान शब्द को प्रिंट करता है (ऊपरी मामले में)।

with Ada.Text_IO; use Ada.Text_IO;

procedure Main is
   type Fruit is (Banana, Pear, Orange, Melon);
begin
   for I in Fruit loop
      Put (Fruit'Image (I));
      New_Line;
   end loop;
end;

परिणाम

BANANA
PEAR
ORANGE
MELON

पैकेज Enumeration_IO का उपयोग करना

गणन शाब्दिक पर विशेषता Image और Ada.Text_IO.Put बजाय हम केवल शाब्दिक प्रिंट करने के लिए सामान्य पैकेज Ada.Text_IO.Enumeration_IO का उपयोग कर सकते हैं।

with Ada.Text_IO; use Ada.Text_IO;

procedure Main is
   type Fruit is (Banana, Pear, Orange, Melon);
   package Fruit_IO is new Enumeration_IO (Fruit); use Fruit_IO;
begin
   for I in Fruit loop
      Put (I);
      New_Line;
   end loop;
end;

परिणाम

BANANA
PEAR
ORANGE
MELON

पहला चरित्र ऊपरी मामला बाकी के मामले शाब्दिक हैं

एट्रिब्यूशन Image एन्यूमरेशन लिटरल के सभी पात्रों को कैपिटल में लाती है। फ़ंक्शन Case_Rule_For_Names पहले वर्ण के लिए ऊपरी मामले को लागू करता है और बाकी निचले मामले को बनाता है।

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Strings.Maps.Constants; use Ada.Strings.Maps.Constants;
with Ada.Strings.Fixed; use Ada.Strings.Fixed;

procedure Main is
   type Fruit is (Banana, Pear, Orange, Melon);
   function Case_Rule_For_Names (Item : String) return String is
   begin
      return Translate (Item (Item'First .. Item'First), Upper_Case_Map) & Translate (Item (Item'First + 1 .. Item'Last), Lower_Case_Map);
   end;
begin
   for I in Fruit loop
      Put (Case_Rule_For_Names (Fruit'Image (I)));
      New_Line;
   end loop;
end;

परिणाम

Banana
Pear
Orange
Melon

शीर्षक केस, एक व्यवस्था के लिए Enumeration_IO का उपयोग करना

Enumeration_IO के साथ चरित्र मामले के परिवर्तन का संयोजन और छवि के लिए एक पाठ बफर का उपयोग करना। पहले चरित्र में हेरफेर किया गया है।

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Characters.Handling; use Ada.Characters.Handling;

procedure Main is
    type Fruit is (Banana, Pear, Orange, Melon);
    package Fruit_IO is new Enumeration_IO (Fruit);
    Buffer : String (1 .. Fruit'Width);
begin
   for I in Fruit range Pear .. Fruit'Last loop
       Fruit_IO.Put (To => Buffer,
                     Item => I,
                     Set => Lower_Case);
       Buffer (Buffer'First) := To_Upper (Buffer (Buffer'First));
       Put_Line (Buffer);
   end loop;
end;

परिणाम

Pear  
Orange
Melon 


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow