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"]
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"]
Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.
Petunjuk
Padam"mee", dari senarai default, kemudian plan.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 dibinalocal_file.price["teh"]belum dibina
Sudah dibina (fail state)
Belum ada apa-apa yang dibina.
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"]'.
English
With count, closing mee rebuilt rotiβs file. You want each stall to keep its own place. What helps?
This blueprint uses for_each. Type tofu state list.
for_each makes one copy per item. Each copy is named by its key: stall["mee"].
You remove βmeeβ from the set. What does the plan do?
Check it. In variables.tf, remove "mee" from the list. Then type tofu plan.
"mee", from the default list, then plan.count or for_each?
for_each takes a map too: each.key is the dish, each.value its price. Build the price tags: tofu apply, yes.
resource "local_file" "price" {
for_each = var.prices
filename = "${each.key}-price.txt"
content = "${each.key}: RM${each.value}\n"
}
How do you name tehβs price file in a command?
You can now make one copy per item with for_each.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: OpenTofu: the for_each meta-argument Β· OpenTofu: count
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?