logo

סוגי נתונים של YAML

ל-YAML יש שלושה סוגים של סוגי נתונים:

  1. סקלר
  2. רשימה
  3. מילון

סוג נתונים סקלארי:

סקלאר הוא סוג נתונים פשוט. ב-YAML, סקלאר פירושו ערך פשוט למפתח. הערך של הסקלר יכול להיות מספר שלם, צף, בוליאני ומחרוזת. סוגי נתונים סקלרים מסווגים לשני סוגי נתונים:

  1. סוג נתונים מספריים
  2. חוּט

סוג נתונים מספריים

ישנם שלושה סוגים של סוגי נתונים מספריים:

  • מספר שלם
  • מספרים עשרוניים
  • בוליאנים

א סוג נתונים של מספר שלם יכול להיות עשרוני, אוקטלי או הקסדצימלי.

לדוגמה:

מערכי java
 --- age: 12345 octalexample: 012345 hexaexample: 0x12d4 

כאן, הערך הקבוע מצוין ב-0x, והערך האוקטלי מצוין באפס מוביל. כאשר אנו מריצים מסמך זה על סקריפט python שלנו, הפלט הבא ייווצר:

 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. מאוחר יותר, נוכל לכתוב תוכנית לשנות את הערך של 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 

ה-subjectDetails מציג מפתח, והערך של מפתח זה הוא רשימה של צמדי מפתח: ערכים. שם אב, שם אם ושם נושא הם המפתחות. כאשר מפתח subjectName מכיל רשימה של מפתחות: צמדי ערכים ו-subject1 ו-subject2 הם המפתחות לערכים 70 ו-100.