YAML ma trzy typy typów danych:
- Skalarny
- Lista
- Słownik
Skalarny typ danych:
Skalar to prosty typ danych. W YAML skalar oznacza prostą wartość klucza. Wartością skalara może być liczba całkowita, zmiennoprzecinkowa, wartość logiczna i ciąg znaków. Skalarne typy danych dzielą się na dwa typy danych:
- Numeryczny Typ danych
- Strunowy
Numeryczny Typ danych
Istnieją trzy typy numerycznych typów danych:
- Liczba całkowita
- Liczb zmiennoprzecinkowych
- Wartości logiczne
Jakiś Typ danych całkowity może być dziesiętny, ósemkowy lub szesnastkowy.
Na przykład:
jak zdobyć emoji z iPhone'a na Androida
--- age: 12345 octalexample: 012345 hexaexample: 0x12d4
Tutaj wartość szesnastkowa jest wskazywana przez 0x, a wartość ósemkowa jest wskazywana przez zera wiodące. Kiedy uruchomimy ten dokument w naszym skrypcie Pythona, zostaną wygenerowane następujące dane wyjściowe:
age: 12345 octalexample: 9946 hexaexample: 4820
The wartość zmiennoprzecinkowa może być stała i wykładnicza.
Na przykład:
--- height: 180.0 exp: 12.3015e+05
Oceniając powyższy podmiot, otrzymamy, co następuje:
height: 180.0 exp: 1230150.0
A Wartość logiczna może mieć wartość Prawda/Fałsz, Tak/Nie lub Włącz/Wyłącz.
Na przykład:
--- boolenval1: True booleanval2: False fan: On light: Off
Strunowy
Ciągi YAML są w formacie Unicode. W poniższym przykładzie zdefiniujemy prosty ciąg znaków, bez użycia cudzysłowów.
Przykład:
--- str1: this is a normal string
Kiedy to przetworzymy, zostaną wygenerowane następujące dane wyjściowe:
str1: this is a normal string
Teraz zdefiniujemy ciąg znaków z sekwencją ucieczki. Poniższy ciąg zawiera znak specjalny (dowolny inny niż alfanumeryczny), dlatego zawiera cudzysłowy.
bash, jeśli warunek
--- str1: 'the cost is 390 ' str2: the cost is 390
Kiedy to przetworzymy, zostaną wygenerowane następujące dane wyjściowe:
str1: the cost is 390 str2: the cost is 390
Podczas tworzenia pliku YAML możemy ustawić wartość zmiennej danych na null. Później możemy napisać program zmieniający wartość null na dowolną inną wartość.
--- str1: null str2: ~
Nasz program przetwarza to w następujący sposób:
str1: none str2: none
W YAML możemy zapisać wieloliniowy ciąg znaków w jednym wierszu, używając symbolu >. W tym przypadku znak nowej linii ( ) zostanie zignorowany.
ładowanie javascript
Przykład:
str: > this is a multi-line string it spans more than one line
Powyższy ciąg będzie interpretowany bez nowych linii w następujący sposób:
str : this is a multi-line string it spans more than one line
W YAML możemy zapisać ciąg wieloliniowy w znaku nowej linii za pomocą | symbol. W tym przypadku zostanie uwzględniony znak nowej linii ( ).
Przykład:
str: | this is a multi-line string it spans more than one line
Zatem nowe linie w dokumencie widzimy w następujący sposób:
str : this is a multi-line string it spans more than one line
Listy
Listę możemy zdefiniować w jednym wierszu w następujący sposób:
--- items: [6, 7, 8, 9, 10] name: [six, seven, eight, nine, ten]
Styl ten nazywany jest stylem blokowym. Powyższą listę możemy umieścić w wielu wierszach w następujący sposób:
--- items: - 6 - 7 - 8 name: - 'six' - 'seven' - 'eight' - 'nine'
Styl ten nazywany jest stylem flow. Lista zawierająca złożone obiekty wymaga wielu wierszy.
--- items: - values: value1: value 2: value 3: - other values: key: value
Tablica może zawierać dowolną liczbę prawidłowych wartości YAML. Ale wartość listy nie może być tego samego typu.
Słowniki
Jeśli będziemy chcieli napisać złożony plik YAML przechowujący złożoną strukturę danych, skorzystamy ze słowników. Jest to zbiór par klucz:wartość, a każdą z par klucz:wartość można zagnieżdżać z wieloma opcjami.
Przykład 1:
--- student1: 'john' hobbies: - music - reading - dancing
W powyższym przykładzie student jest pierwszym kluczem, a jan jest wartością. Hobby to drugi klucz, ale jest on zagnieżdżony, co oznacza, że zawiera listę wartości. Wartością klucza może być ponownie para klucz:wartość, co zobaczymy w następnym przykładzie.
lista tablic sortowania Java
Przykład 2:
student2: fatherName: 'William' motherName: 'Marry' subjectDetails: subject1: 70 subject2: 100
TematDetails pokazuje klucz, a wartość tego klucza to lista par klucz:wartość. Kluczami są: imię ojca, imię matki i nazwa podmiotu. Gdzie klucz podmiotu zawiera listę kluczy: pary wartości, a podmiot1 i podmiot2 są kluczami dla wartości 70 i 100.