Jak zdobyć pakiet YAML w języku rdzy w Ubuntu 20.04
Rust zapewnia nam pakiet o nazwie Yaml_rust, który musimy wdrożyć w naszym programie podczas analizowania dowolnego pliku YAML. Funkcja bezpieczeństwa pamięci i inne zalety języka rdzy są obecne w Yaml_RUST, czystej rdzy w Yaml 1.2. Użyjmy polecenia Cargo, aby zbudować nowy projekt w środku. Dostaliśmy polecenie „$ cargo nowy przykład1_cargo”. To polecenie tworzy nowy katalog o nazwie przykład1_cargo. Aby wymienić projekt, użyliśmy polecenia „$ CD PRZYKŁAD1_CARGO”.
Pliki, które tworzy ładunek, są przechowywane w katalogu o tej samej nazwie co nasz projekt, przykład1_cargo, przez drugie polecenie. Wymień pliki, wprowadzając katalog przykład1_cargo. Zauważysz, że ładunek wyprodukował ładunek.Plik TOML i katalog SRC z głównym.plik RS. Aby dodać Rust Rust w rdzy, otwórz ładunek.plik toml i wstaw „Yaml-Rust = 0.4 ”W sekcji zależności. W miarę dodawania zależności od ruszania ignamu w naszym ładunku.plik TOML, zapisz go i przejdźmy do napisania kodu w src main.plik RS w celu analizowania YAML.
Przykład 1
Dzięki temu rozwiązaniu chcemy zaoferować parsery YAML, które są w 100% zgodne z YAML 1.2. Istnieje tylko kilka znanych problemów, które uniemożliwiają parserowi prawidłowe analizowanie prawie wszystkich przykładów w specyfikacji. W niektórych okolicznościach pusty równinowy skalar jest wyjątkiem. Może to jednak nie być poważny problem dla większości użytkowników, ponieważ popularna biblioteka Libyaml ma również problemy z analizowaniem tych próbek.
Tutaj musimy zaimportować zależność od wyścigów YAML z zewnętrzną skrzynią. Zależność Yaml Rust zapisana z zewnętrzną skrzynią jest określona przez deklaracja skrzyni zewnętrznej. Podany identyfikator Deklaracji Skrawy zewnętrznej jest następnie wykorzystywany do wiązania zewnętrznej skrzyni z zakresem deklarowania. Następnie dokumenty YAML są ładowane za pomocą YAML :: Yamlloader i dostępu jako VEC/Hashmap. Następnie, w ramach programu FN main (), mamy instrukcję LET używaną do tworzenia danych struktury YAML. Istnieje inne oświadczenie LET, które jest wywoływane ze zmiennymi dokumentami. Wewnątrz tej zmiennej DOC, rozpakowaliśmy dane YAML, które są załadowane wewnątrz zmiennej „S”.
Funkcja rozpakowania służy do podania wyników obliczeń i powrotu paniki, jeśli wystąpi coś nieoczekiwanego. Zmienna DOC wybiera pierwszy dokument, który jest zdefiniowany przez wyrażenie LET. Za pomocą polecenia println debugowanie dokumentu jest obsługiwane. Z „Assert_EQ!”Wyrażenie mamy dostęp do indeksu mapy i tablicy. Nieprawidłowa tablica lub klucz jest również weryfikowany przez metodę Assert, która rzuca komunikat badawki, jeśli nie istnieją. Następnie obiekt YAML jest zrzucany do łańcucha.
Poprzedni kod kompikuje się z poleceniem Run Cargo, które generuje mapy i tablicę dokumentu YAML w formacie rdzy. Ponadto dokument YAML jest wydrukowany na poniższym rysunku:
Przykład nr 2
Poprzedni przykład pokazuje parsowanie dokumentu YAML w programie RUD. Tutaj utworzyliśmy osobny plik YAML, który będzie przetwarzać Rust. Zauważ, że trzymaj plik YAML w katalogu, w którym folder SRC i ładunek.Plik TOML znajduje się w przeciwnym razie kompilator nie mógł przeanalizować pliku. Mamy Studenci_Result.Plik YAML do parsowania w rdzy. Dokument wewnątrz tego pliku YAML jest następujący:
Tutaj mamy program Rust do analizowania pliku YAML. Wcześniej musimy dodać zależność Yaml_RUst w ładunku.plik toml.
Tutaj dołączyliśmy pakiet YAML_RUST z deklaracją Utwórz zewnętrzną, a także zadeklarowaliśmy Yaml_RUst, która ma obiekty ładowarki Yaml i Yaml Emitter. Yamlloader ładuje dokument YAML, a emiter YAML działa jako strumień wyjściowy. Następnie wprowadziliśmy naszą główną implementację funkcji, w której błąd IO jest przypisany do awarii operacji systemu plików. Wewnątrz fn main () pozwalamy, aby stwierdzenia zadeklarowały zmienne. Zmienna Docs ma polecenie STD :: FS do kopiowania pliku „Student_Results.YAML ”.
Istnieje kolejne dane zmienne, które ładują plik YAML. Za pomocą metody rozpakowania pokazaliśmy wyniki obliczeń. Za pośrednictwem DOC zmiennej uzyskaliśmy dostęp do dokumentu YAML. Następnie iterowaliśmy wartości kluczowe mapy i otrzymaliśmy sumę wartości. Znaki wewnątrz dokumentu YAML będą sumą operacji iteracji mapy. Następnie wzór dopasowania rdzy dla skrzynki: YAML :: HASH Operacja. Ponadto dla Yaml :: tablica, Yaml :: String i Yaml :: Integer.
Wniosek
Artykuł dotyczy ankiet pliku YAML w Rust. Język rdzy obsługuje pliki i dokumenty YAML. Dzięki zależności od ruszu YAML możemy łatwo manipulować plikami lub dokumentami YAML w rdzy. Musimy skonfigurować zależność od wyścigów i Yaml w ładunku.plik TOML, który może pozwolić nam na dostęp do modułu YAML Rust. Podaliśmy dwa przykłady z składnią YAML i przeanalizowaliśmy je z językiem rdzy.