logo

YAML типове данни

YAML има три типа типове данни:

arp команда
  1. Скалар
  2. списък
  3. Речник

Скаларен тип данни:

Скаларът е прост тип данни. В YAML скалар означава проста стойност за ключ. Стойността на скалара може да бъде цяло число, плаваща единица, булева и низ. Скаларните типове данни се класифицират в два типа данни:

  1. Цифров тип данни
  2. низ

Цифров тип данни

Има три вида цифров тип данни:

  • Цяло число
  • Числа с плаваща запетая
  • Булеви стойности

Ан Целочислен тип данни може да бъде десетичен, осмичен или шестнадесетичен.

Например:

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

Тук шестнадесетичната стойност се обозначава с 0x, а осмичната стойност се обозначава с водеща нула. Когато стартираме този документ на нашия python скрипт, ще се генерира следният изход:

 age: 12345 octalexample: 9946 hexaexample: 4820 

The стойност с плаваща запетая може да бъде фиксирана и експоненциална.

Например:

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

Когато оценим горния обект, ще получим следното:

 height: 180.0 exp: 1230150.0 

А Булева стойност може да бъде True/False или Yes/No или On/Off.

Например:

k алгоритъм за групиране
 --- 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 на всяка друга стойност.

int към низ c++
 --- str1: null str2: ~ 

Нашата програма обработва това като:

 str1: none str2: none 

В YAML можем да напишем многоредов низ в един ред, използвайки > символ. При това символът за нов ред ( ) ще бъде игнориран.

алтернативи на watchcartoononline.io

Пример:

 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 

В горния пример student е първият ключ, а john е стойността. Хобитата са вторият ключ, но той е вложен, което означава, че съдържа списък със стойности. Стойността на ключа може отново да бъде двойка ключ: стойност, което ще видим в следващия пример.

Пример 2:

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

SubjectDetails показва ключ и стойността на този ключ е списък от двойки ключ: стойност. FatherName, motherName и subjectName са ключовете. Където ключът subjectName съдържа списък от двойки ключ: стойност и subject1 и subject2 са ключовете за стойности 70 и 100.