logo

أنواع بيانات YAML

لدى YAML ثلاثة أنواع من أنواع البيانات:

  1. العددية
  2. قائمة
  3. قاموس

نوع البيانات العددية:

Scalar هو نوع بيانات بسيط. في YAML، العددية تعني قيمة بسيطة للمفتاح. يمكن أن تكون قيمة العددية عددًا صحيحًا، أو عائمًا، أو منطقيًا، أو سلسلة. يتم تصنيف أنواع البيانات العددية إلى نوعين من البيانات:

  1. نوع البيانات الرقمية
  2. خيط

نوع البيانات الرقمية

هناك ثلاثة أنواع من نوع البيانات الرقمية:

  • عدد صحيح
  • أرقام النقطة العائمة
  • القيم المنطقية

ان نوع البيانات الصحيح يمكن أن يكون عشريًا أو ثمانيًا أو سداسيًا عشريًا.

على سبيل المثال:

 --- age: 12345 octalexample: 012345 hexaexample: 0x12d4 

هنا، تتم الإشارة إلى القيمة السداسية بواسطة 0x، ويتم الإشارة إلى القيمة الثمانية بواسطة الصفر البادئ. عندما نقوم بتشغيل هذا المستند على نص بايثون الخاص بنا، سيتم إنشاء المخرجات التالية:

تحويل من سلسلة إلى عدد صحيح جافا
 age: 12345 octalexample: 9946 hexaexample: 4820 

ال قيمة النقطة العائمة يمكن أن تكون ثابتة والأسي.

على سبيل المثال:

 --- height: 180.0 exp: 12.3015e+05 

عندما نقوم بتقييم الكيان أعلاه سنحصل على ما يلي:

 height: 180.0 exp: 1230150.0 

أ قيمة منطقية يمكن أن تكون صحيحة/خطأ أو نعم/لا أو تشغيل/إيقاف.

على سبيل المثال:

 --- boolenval1: True booleanval2: False fan: On light: Off 

خيط

سلاسل YAML هي Unicode. في المثال التالي، سنقوم بتعريف سلسلة بسيطة، دون استخدام علامات الاقتباس.

مثال:

أسئلة المقابلة في لغة جافا
 --- str1: this is a normal string 

عندما نقوم بمعالجة هذا، سيتم إنشاء الإخراج التالي:

 str1: this is a normal string 

الآن، سوف نقوم بتعريف سلسلة مع تسلسل الهروب. تحتوي السلسلة التالية على حرف خاص (أي شيء آخر غير الحروف الأبجدية الرقمية)، لذا فهي تحتوي على علامات اقتباس مزدوجة.

 --- str1: 'the cost is 390
' str2: the cost is 390
 

عندما نقوم بمعالجة هذا، سيتم إنشاء الإخراج التالي:

 str1: the cost is 390 str2: the cost is 390
 

أثناء ملف YAML، يمكننا تعيين قيمة متغير البيانات لتكون خالية. وبعد ذلك يمكننا كتابة برنامج لتغيير قيمة null إلى أي قيمة أخرى.

 --- str1: null str2: ~ 

يعالج برنامجنا هذا على النحو التالي:

 str1: none str2: none 

في YAML، يمكننا كتابة سلسلة متعددة الأسطر في سطر واحد باستخدام > الرمز. في هذا، سيتم تجاهل حرف السطر الجديد ( ).

مثال:

 str: > this is a multi-line string it spans more than one line 

سيتم تفسير السلسلة أعلاه بدون الأسطر الجديدة كما يلي:

 str : this is a multi-line string it spans more than one line 

في YAML، يمكننا كتابة سلسلة متعددة الأسطر في سطر جديد باستخدام | رمز. في هذا، سيتم تضمين حرف السطر الجديد ( ).

مثال:

 str: | this is a multi-line string it spans more than one line 

لذلك نرى الأسطر الجديدة في مكانها في المستند كما يلي:

 str : this is a multi-line string it spans more than one line 

القوائم

ويمكننا تحديد القائمة في سطر واحد كما يلي:

 --- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten] 

يُعرف هذا النمط بنمط الكتلة. ويمكننا أن نضع القائمة أعلاه في عدة أسطر كما يلي:

 --- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine' 

يُعرف هذا النمط بأسلوب التدفق. تحتاج القائمة التي تحتوي على كائنات معقدة إلى عدة أسطر.

 --- items: - values: value1: value 2: value 3: - other values: key: value 

يمكن أن يحتوي أي عدد من قيم YAML الصالحة على مصفوفة. لكن قيمة القائمة لا يمكن أن تكون من نفس النوع.

القواميس

إذا أردنا كتابة ملف YAML معقد يحتوي على بنية بيانات معقدة، فسنستخدم القواميس. إنها مجموعة من المفاتيح: أزواج القيمة وكل من المفاتيح: أزواج القيمة يمكن أن تتداخل مع الكثير من الخيارات.

مثال 1:

 --- student1: 'john' hobbies: - music - reading - dancing 

في المثال أعلاه، الطالب هو المفتاح الأول، وجون هو القيمة. الهوايات هي المفتاح الثاني، ولكنها متداخلة، مما يعني أنها تحتوي على قائمة من القيم. يمكن أن تكون قيمة المفتاح مرة أخرى مفتاحًا: زوج القيمة، وهو ما سنراه في المثال التالي.

مثال 2:

 student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100 

تعرض تفاصيل الموضوع مفتاحًا، وقيمة هذا المفتاح عبارة عن قائمة مفاتيح: أزواج القيمة. FatherName، motherName، و subjectName هي المفاتيح. حيث يحتوي مفتاح subjectName على قائمة من المفاتيح: أزواج القيمة والموضوع 1 والموضوع 2 هما مفتاحا القيمتين 70 و100.

np.concatenate