Konfiguracja YAML
Wczytywanie i zapisywanie YAML
Konfiguracja YAML to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Czym jest YAML
YAML (YAML Ain't Markup Language) to przyjazny dla człowieka format danych, powszechnie używany do przechowywania konfiguracji. Ruby odczytuje go za pośrednictwem biblioteki yaml opartej na Psych.
require 'yaml'
text = "name: Ruby\nyear: 1995"
p YAML.load(text)Wczytywanie YAML
YAML.load analizuje ciąg YAML i przekształca go w obiekty Ruby. Mapowania stają się obiektami Hash, a sekwencje obiektami Array.
require 'yaml'
cfg = YAML.load("port: 8081\ndebug: true")
puts(cfg['port'])
puts(cfg['debug'])Wcięcia definiują strukturę
YAML używa wcięć (spacji, nigdy tabulatorów) do wyrażania zagnieżdżenia. Każdy głębszy poziom ma większe wcięcie.
require 'yaml'
text = "server:\n host: localhost\n port: 8081"
cfg = YAML.load(text)
puts(cfg['server']['port'])Listy w YAML
Sekwencję zapisuje się za pomocą myślników na początku wierszy. Jest ona analizowana jako obiekt Ruby Array.
require 'yaml'
text = "tags:\n - fun\n - oop\n - dynamic"
p YAML.load(text)['tags']Zapisywanie do YAML
YAML.dump (lub to_yaml) serializuje obiekty Ruby z powrotem do tekstu YAML.
require 'yaml'
data = { 'name' => 'Ruby', 'tags' => ['fun', 'oop'] }
puts(YAML.dump(data))Typy skalarne
YAML rozpoznaje typy: liczby, wartości logiczne (true/false) i null są mapowane na odpowiadające im wartości Ruby.
require 'yaml'
cfg = YAML.load("count: 3\nactive: false\nnote: null")
puts(cfg['count'].class)
puts(cfg['note'].inspect)Klucze symboli
Klucz zapisany z dwukropkiem na początku staje się symbolem Ruby podczas wczytywania.
require 'yaml'
cfg = YAML.load(":env: production")
p cfgWiele dokumentów
Pojedynczy plik YAML może zawierać kilka dokumentów oddzielonych za pomocą ---. YAML.load_stream zwraca je wszystkie.
require 'yaml'
text = "a: 1\n---\nb: 2"
docs = YAML.load_stream(text)
puts(docs.length)Zapisywanie pliku konfiguracyjnego
Zapisz hash ustawień jako czytelny plik YAML.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'config.yml')
File.write(path, { 'port' => 8081 }.to_yaml)
puts(File.read(path))Wczytywanie pliku konfiguracyjnego
YAML.load_file wczytuje i analizuje plik w jednym wywołaniu — jest to typowy sposób ładowania konfiguracji przez aplikacje.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'app.yml')
File.write(path, "name: AppPanel\nport: 8081")
cfg = YAML.load_file(path)
puts(cfg['name'])Bezpieczne wczytywanie
Wczytywanie niezaufanego YAML może być niebezpieczne. YAML.safe_load domyślnie ogranicza dane do podstawowych typów, chroniąc przed złośliwymi ładunkami.
require 'yaml'
cfg = YAML.safe_load("port: 8081\nname: app")
puts(cfg['port'])Szybkie sprawdzenie
Czego YAML używa do wyrażania zagnieżdżenia i struktury?
Podsumowanie: konfiguracja YAML
Można zarządzać konfiguracją w YAML:
YAML.load/load_filedo odczytuto_yaml/YAML.dumpdo zapisu- Wcięcia definiują zagnieżdżenie, a myślniki tworzą listy
- Skalary rozpoznają liczby, wartości logiczne i null
- W przypadku niezaufanych danych należy preferować
safe_load
require 'yaml'
puts(YAML.load("x: 5")['x'] * 2)Często zadawane pytania
Czy lekcja „Konfiguracja YAML” jest bezpłatna?
Tak — pełny tekst „Konfiguracja YAML” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Konfiguracja YAML”?
Wczytywanie i zapisywanie YAML Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?
Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Konfiguracja YAML”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?
Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Odczytywanie i zapisywanie JSON
- Praca z CSV
- Konfiguracja YAML
- Wybór formatu