Peta dunia

 

EN: Read in English

Dunia D0: Mula Di Sini

YAML bahagian 2: bersarang dan perangkap

Anda akan belajar: cara ruang letak baris YAML di dalam satu sama lain, dan cara elak tab, sifar yang hilang dan nilai true yang licik.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

bash
docker compose config
failed to parse /home/you/shop/compose.yaml: go-yaml load error in scanner (while scanning for the next token) at L3.C1: found character that cannot start any token
docker compose config gagal: found character that cannot start any token, di baris 3, lajur 1.

Satu tab yang tak nampak rosakkan seluruh fail. Itulah mesej sebenar. Dalam bahasa mudah: baris 3 mula dengan tab, dan YAML hanya terima ruang.

Tengok

Mangkuk tingkat susun mangkuk dalam satu bekas. YAML susun dengan ruang. Dua ruang lagi bermaksud “di dalam baris atasnya”. Inilah nesting (bersarang) (nesting): Kotak di dalam kotak. Dalam YAML, dua ruang lagi letak baris itu di dalam baris atasnya. (bersarang).

Tukar chicken curry kepada rendang. Tengok di mana ia tinggal dalam kotak.

tiffin.yaml7 baris

Cara komputer membacanya

  • tiffinmap · 3 kunci
    • topriceteks
    • middlechicken curryteks
    • bottomsenarai · 2 item
      • item 1eggteks
      • item 2cucumberteks

Teka

Baris bottom: dan senarainya beralih 2 ruang ke kiri. Kini bottom: sebaris dengan tiffin:. Ia ke mana?

Pilih satu jawapan.

Cuba

Baris 3 kurang satu ruang. Baca kotak itu: kata-kata sebenar pembaca YAML, kemudian bahasa mudah. Luruskan ia. Di telefon, guna “Tambah satu ruang”.

Letak middle kembali di dalam tiffin.

tiffin.yaml5 baris

Cara komputer membacanya

yaml: line 2: did not find expected key

Dalam bahasa mudah: Baris 3 tak sebaris. Samakan dengan kunci di sebelahnya.

Tengok

Kebanyakan bug YAML datang daripada beberapa perangkap licik. Okey, atau perangkap? Susun semuanya.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Tengok kotak itu: pembaca nampak nombor, 123456789. Sifar pertama hilang! Nombor telefon ialah teks. Tanda petik kekalkan sifar itu.

      Jadikan nombor telefon itu teks semula.

      shop.yaml4 baris

      Cara komputer membacanya

      • nameKedai Kancilteks
      • phone123456789nombor
      • opentruetrue/false

      Semak

      spicy: yes. Kubernetes baca itu sebagai true. Macam mana nak kekalkan perkataan yes?

      Pilih satu jawapan.

      Anda berjaya!

      Kini anda boleh susun YAML bersarang dengan ruang dan elak perangkap liciknya.

      Nak tahu lebih (pilihan)

      Alatan berbeza guna pembaca YAML berbeza. Pembaca lama (YAML 1.1) tukar yes, no, on dan off jadi true atau false. Pembaca baru kekalkannya sebagai perkataan. Tanda petik selamat di mana-mana.

      Latihan sebenar (pilihan): dalam editor kod anda, hidupkan “show whitespace”. Tab dan ruang nampak berbeza. Buka satu fail YAML dan semak.