2015-04-02 44 views
0

我一直在寻找这个,我认为答案很简单,但我无法弄清楚。红宝石阵列减法错误

我有两个文件1.txt和2.txt,每行包含一个IP地址。我需要从1.txt的

的1.txt删除2.txt列出的所有IPS:

1.2.3.4 
5.6.7.8 
9.10.11.12 
13.14.15.16 

2.txt:

5.6.7.8 
9.10.11.12 

我现在有:

my_array = IO.readlines('1.txt') 
my_array2 = IO.readlines('2.txt') 
my_array3 = my_array - my_array2 
puts my_array3 

array3输出:

1.2.3.4 
9.10.11.12 
13.14.15.16 

IP地址的2.txt量时刻都在变化,以便寻找一种方式来总是从1.txt的

+0

尝试对两个数组使用类似'IO.readlines('1.txt')。map(&:chomp).map(&:strip)'的东西 - 清理每一行从'“\ n”'s ,并且去掉所有的空白空间。问题是否持续? – 2015-04-02 10:47:53

+0

“2.txt”中的'9.10.11.12'后面是否有换行符?显然,'1.txt'中的那个确实如此。 – 2015-04-02 10:51:21

+0

谢谢乔格,这是它! – Lazlo 2015-04-02 11:29:04

回答

0

删除所有2.txt的内容换行符是造成问题。它在删除后立即生效。