如何将找到的每个值映射到不同的变量中
How can I map each value found into a different variable
我想创建一个厨师食谱,但我卡在了这一步:
members = search("node", "recipe:redis AND chef_environment:#{node.chef_environment}") || []
members.each do |node|
puts "#{node["ipaddress"]}"
end
这正在工作并返回我找到的那三台服务器的 IP 地址。
但我想 assign/give 找到的每个值(IP 地址)到一个变量,因为我将 运行 如下命令:
execute 'command' do
command "redis-trib.rb create --replicas 1 #{node1}:6379 #{node2}:6379 #{node3}:6379 #{node1}:6380 #{node2}:6380 #{node3}:6380"
end
你可以这样做:
nodes = members.map do |node|
node["ipaddress"]
end
然后像这样使用它:
execute 'command' do
command "redis-trib.rb create --replicas 1 #{nodes[0]}:6379 #{nodes[1]}:6379 #{nodes[2]}:6379 #{nodes[0]}:6380 #{nodes[1]}:6380 #{nodes[2]}:6380"
end
我想创建一个厨师食谱,但我卡在了这一步:
members = search("node", "recipe:redis AND chef_environment:#{node.chef_environment}") || []
members.each do |node|
puts "#{node["ipaddress"]}"
end
这正在工作并返回我找到的那三台服务器的 IP 地址。 但我想 assign/give 找到的每个值(IP 地址)到一个变量,因为我将 运行 如下命令:
execute 'command' do
command "redis-trib.rb create --replicas 1 #{node1}:6379 #{node2}:6379 #{node3}:6379 #{node1}:6380 #{node2}:6380 #{node3}:6380"
end
你可以这样做:
nodes = members.map do |node|
node["ipaddress"]
end
然后像这样使用它:
execute 'command' do
command "redis-trib.rb create --replicas 1 #{nodes[0]}:6379 #{nodes[1]}:6379 #{nodes[2]}:6379 #{nodes[0]}:6380 #{nodes[1]}:6380 #{nodes[2]}:6380"
end