Ruby 使用def plus变量调用模块
我有点搞不清楚这是怎么回事。定义中包含一个shell命令“shell\u cmd”。如何通过使用puts或不使用puts调用shell命令,将变量正确输入shell命令?正确的方法是什么Ruby 使用def plus变量调用模块,ruby,Ruby,我有点搞不清楚这是怎么回事。定义中包含一个shell命令“shell\u cmd”。如何通过使用puts或不使用puts调用shell命令,将变量正确输入shell命令?正确的方法是什么 module MOD1 def MOD1.add_zone_port(zone, port) addportzone = `shell_cmd --obj1=#{zone} --obj2=#{port}` puts #{addportzone} end end puts M
module MOD1
def MOD1.add_zone_port(zone, port)
addportzone = `shell_cmd --obj1=#{zone} --obj2=#{port}`
puts #{addportzone}
end
end
puts MOD1.add_zone_port("zone", "port")
我猜你是在正确的轨道上 如果试图在字符串中解释变量,则需要将其放在大括号中,例如 以下各项应起作用:
module MOD1
def MOD1.add_zone_port(zone, port)
`shell_cmd --obj1=#{zone} --obj2=#{port}`
end
end
puts MOD1.add_zone_port("zone", "port")
或者,如果您不想麻烦给方法模块名称空间
module MOD1
def add_zone_port(zone, port)
`shell_cmd --obj1=#{zone} --obj2=#{port}`
end
end
include MOD1
puts MOD1.add_zone_port("zone", "port")
成功的是:ruby 2.0版 模块MOD1 def MOD1.添加_区域_端口(区域,端口)
shell_cmd--obj1={zone}--obj2={port}
结束
结束
放置MOD1.add_zone_port(zone,port)是执行shell命令还是只生成字符串?为什么要注释掉方法中最后一行的一半?谢谢取消注释