0Pricing
Ruby Academy · Lekcja

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 cfg

Wiele 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_file do odczytu
  • to_yaml / YAML.dump do 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

  1. Odczytywanie i zapisywanie JSON
  2. Praca z CSV
  3. Konfiguracja YAML
  4. Wybór formatu
← Powrót do Ruby Academy