Các ví dụ 'cho' ở trên là chính xác để thực hiện một phạm vi bao gồm. Nếu bạn muốn chuyển tiếp một tập hợp các cổng cụ thể, bạn cần sử dụng toán tử Ruby .each.
Các biến có thể đi vào bên trong hoặc bên ngoài vòng lặp Vagrant.configure chính.
UDP_PORTS_LIST={
"5000" => 5000, # Some service
}
TCP_PORTS_LIST={
"5900" => 5900, # VNC
}
Các vòng lặp cần phải đi vào bên trong khối Vagrant. Thông minh cho VM mà bạn muốn ánh xạ chúng (hãy nhớ rằng bạn có thể có nhiều VM trong một Vagrantfile).
UDP_PORTS_LIST.each do |guest, host|
config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "udp"
end
TCP_PORTS_LIST.each do |guest, host|
config.vm.network "forwarded_port", guest: "#{guest}", host: "#{host}", protocol: "tcp"
end