如何使用Ruby在字符串中显示变量

luc*_*axi 5 ruby

所以我有以下代码逐行读取文本文件.每条线以回车架结束.以下代码输出以下内容:

define host {
    use             servers
    host_name         ["buffy"]
    alias         ["buffy"]
    address       ["buffy"].mydomain.com
}
Run Code Online (Sandbox Code Playgroud)

如何摆脱括号和引号?

File.open('hosts','r') do |f1|

while line = f1.gets
    data = line.chomp.split("\n")

        File.open("nagios_hosts.cfg", "a") do |f|
            f.puts "define host {\n";
            f.puts "\tuse             servers\n"
            f.puts "\thost_name       #{data}"
            f.puts "\talias         #{data}"
            f.puts "\taddress       #{data}.mydomain.com"
            f.puts "\t}\n\n"
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

pht*_*ier 5

你可以使用

#{data[0]}
Run Code Online (Sandbox Code Playgroud)

而不是#{data}

那是因为split创建了一个字符串数组.

但是,如果您真的想要简单地获取没有尾随行的行,则可以使用strip方法.