gpt4 book ai didi

ruby - 收集所有不在使用 Ruby 的

转载 作者:数据小太阳 更新时间:2023-10-29 08:25:35 25 4
gpt4 key购买 nike

我有一小段代码。

我不懂 ruby​​,但我认为这是应用它的好机会。

我想打印文件 e 中不在文件 c 中的所有行。每行是一个数字。

这是我得到的:

 e = File.new('e').readlines
c = File.new('c').readlines

x = e.collect do |item|
c.include?( item ) ? "" : item
end

p x.sort

问题是两个文件都可能有空格,因此可能不会考虑相同的数字。 (例如,“1234”不同于“1234”)

我的代码需要什么来修复它?我试过 c.include?(item.strip) .. .但似乎没有用。

最佳答案

也许在执行 readlines 时执行 strip 会有所帮助,即

e = File.readlines('e').map{|x| x.strip}
c = File.readlines('c').map{|x| x.strip}

然后您可以像以前一样使用collect,或者如果您不想要空字符串,则可以使用select:

x = e.select{|i| !c.include?(i)}

编辑:或作为Benno建议,使用

x = e-c

关于ruby - 收集所有不在使用 Ruby 的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com