馃幆 诪讟专讜转 讛诇诪讬讚讛


讞诇拽 1: 诪讛讜 Splat Expression

讛住讘专

Splat expressions 讛诐 讚专讱 拽爪专讛 讜转诪爪讬转讬转 讬讜转专 诇讻转讬讘转 讘讬讟讜讬讬 for 诪诇讗讬诐. 讘诪拽讜诐 诇讬爪讜专 for loop 诪驻讜专砖, 诪砖转诪砖讬诐 讘转讞讘讬专 [*] 诇讞讬诇讜抓 诪讗驻讬讬谉 诪住讜讬诐 诪讻诇 讛讗诇诪谞讟讬诐 讘专砖讬诪讛. 讛转讞讘讬专 讗讜诪专: "诇讻诇 讛讗诇诪谞讟讬诐, 讛讞讝专 诇讬 讗转 讛诪讗驻讬讬谉 讛讝讛."

拽讜讚 / 转爪讜专讛

讬爪讬专转 拽讜讘抓 splat.tf. 谞砖转诪砖 讘诪砖转谞讛 objects_list 讛拽讬讬诐 诪讛诇讗讘讬诐 讛拽讜讚诪讬诐:

locals {
  firstnames_from_splat = var.objects_list[*].firstname
}

output "firstnames_from_splat" {
  value = local.firstnames_from_splat
}

讛砖讜讜讗讛 诇-for expression

讛转讞讘讬专 诇诪注诇讛 砖拽讜诇 诇讝讛 砖讻转讘谞讜 讘-for-lists.tf:

locals {
  firstnames = [for person in var.objects_list : person.firstname]
}

讗讘诇 讛-Splat 讬讜转专 转诪爪讬转讬.


讞诇拽 2: Splat 诇讗 注讜讘讚 注诐 Maps

讛住讘专

Splat expressions 注讜讘讚讬诐 专拽 注诐 专砖讬诪讜转. 讗诐 诪谞住讬诐 诇讛砖转诪砖 讘-Splat 注诐 map, 诪转拽讘诇转 砖讙讬讗讛: "Unsupported attribute".