我正在尝试编写一个脚本,该脚本将通过if
在文本文件上使用语句来填写设备映射。
这是我尝试过的代码:
输入.txt:
SWITCH
ROUTER
FIREWALL
ROUTER
ROUTER
FIREWALL
SWITCH
SWITCH
红宝石代码:
IO.foreach("input.txt") do |type_equipment|
if type_equipment = "SWITCH"
puts "SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch"
elsif type_equipment = "ROUTER"
puts "ROUTER,BMC_COMPUTERSYSTEM,Network,Router,Ethernet Router"
elsif type_equipment = "FIREWALL"
puts "FIREWALL,BMC_COMPUTERSYSTEM,Network,Appliance,Firewall"
end
end
代码运行,但输出如下:
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
SWITCH,BMC_COMPUTERSYSTEM,Network,Switch,Ethernet Switch
main.rb:6: warning: found = in conditional, should be ==
main.rb:4: warning: found = in conditional, should be ==
main.rb:2: warning: found = in conditional, should be ==
我希望它评估文件中的每一行,如果它与if
语句匹配,则输出关联的puts
.
我还绑定了==
forif
语句,但它只显示第一行的结果,没有警告。