ruby输出到文件导致不必要的换行符

时间:2013-03-07 18:48:09

标签: ruby

我的ruby程序在调用字符串中的变量时会导致不必要的换行符。

然后将字符串打印到文本文件中。在这个文本文件中有很多不需要的换行符。

继承我的代码。


puts 'What is the 2nd Octet?'
second_octet = gets
puts 'What is the 3rd Octet?'
third_octet = gets
puts 'What is the vlan number?'
vlan_number = gets

vrf_number = <<-eos
123#{vlan_number}
eos

router_config = <<-eos 
interface Bundle-Ether7.#{vlan_number}
description * #{description_name} *
mtu 9216
vrf #{vrf_number}
ipv4 address 10.#{second_octet}.#{third_octet}.252 255.255.255.0

eos

File.open(config, 'w') { |file| file.write(router_config) }`

我在调用变量之后得到换行符,因此行之间存在间隙,这对于second_octet和third_octet变量非常烦人,因为它将ip地址分成多行。

任何帮助都会很棒!谢谢!

1 个答案:

答案 0 :(得分:3)

gets返回的字符串包含来自return / enter键的换行符(\n\r\n)。您需要gets.chomp取消尾随换行符,或gets.strip取消前导和尾随空格。任何一个都应该适合你的情况。