Peta dunia

 

EN: Read in English

Dunia T2: Input & Output

for_each: satu setiap item

Anda akan belajar: buat satu salinan setiap item dengan for_each, dinamakan ikut item, bukan nombor.

Teks BM belum disemak oleh penutur asli.

Disemak dengan OpenTofu 1.13 pada 1 Nov 2026

Masalahnya

Dengan count, tutup gerai mee buat fail roti dibina semula. Anda mahu setiap gerai kekal di tempatnya. Apa yang membantu?

Pilih satu jawapan.

Tengok

Pelan ini guna for_each. Taip tofu state list.

Pelan (fail .tf anda)init sudah siap

  • local_file.stall["mee"]
  • local_file.stall["nasi"]
  • local_file.stall["roti"]

Sudah dibina (fail state)state #1

  • local_file.stall["mee"]
  • local_file.stall["nasi"]
  • local_file.stall["roti"]
Pelan: 3 resource. Sudah dibina: 3.

Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.

for_each: Buat satu salinan untuk setiap item dalam map atau set, dinamakan ikut kuncinya: stall["nasi"]. buat satu salinan setiap item. Setiap salinan dinamakan ikut kuncinya: stall["mee"].

Teka

Anda buang β€œmee” dari set itu. Apa plan buat?

Pilih satu jawapan.

Cuba

Semak. Dalam variables.tf, buang "mee" dari senarai. Kemudian taip tofu plan.

Pelan (fail .tf anda)init sudah siap

  • local_file.stall["mee"]
  • local_file.stall["nasi"]
  • local_file.stall["roti"]

Sudah dibina (fail state)state #1

  • local_file.stall["mee"]
  • local_file.stall["nasi"]
  • local_file.stall["roti"]
Pelan: 3 resource. Sudah dibina: 3.

Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.

Semak

count atau for_each?

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

      Cuba

      for_each terima map juga: each.key ialah hidangan, each.value harganya. Bina tanda harga: tofu apply, yes.

      Pelan (fail .tf anda)init sudah siap

      • local_file.price["nasi"]belum dibina
      • local_file.price["teh"]belum dibina

      Sudah dibina (fail state)

      Belum ada apa-apa yang dibina.

      Pelan: 2 resource. Sudah dibina: 0.

      Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.

      resource "local_file" "price" {
        for_each = var.prices
        filename = "${each.key}-price.txt"
        content  = "${each.key}: RM${each.value}\n"
      }

      Semak

      Macam mana nak sebut fail harga teh dalam arahan?

      Pilih satu jawapan.

      Anda berjaya!

      Kini anda boleh buat satu salinan setiap item dengan for_each.

      Nak tahu lebih (pilihan)

      for_each terima map atau set string. Tukar list jadi set dengan toset(var.stalls). Kunci mesti diketahui sebelum apply, jadi ia tak boleh datang dari nilai rawak. Dalam shell, letak tanda petik pada alamat berkurungan: tofu state show 'local_file.stall["mee"]'.