gpt4 book ai didi

ruby - 比较 ruby​​ 中的 2 个数组内容

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:42 25 4
gpt4 key购买 nike

我有来自 2 个不同位置的 2 个数组,但它们包含相同的元素。下面显示了我所拥有的:

@var2 =  ["2/05/2008", "$1.5000", "$2.0000"]
["1/06/2007", "$1.4000", "$1.0000"]

@var3 = ["1/06/2007", "$1.4000", "$1.0000"]
["2/05/2008", "$1.5000", "$2.0000"]

这就是我如何得到上面那些数组的代码。我承认这不是一个好的 ruby​​ 代码

 var1 = Nokogiri::HTML(open(file.htm))
var1.xpath('//tr[position() > 1]').map do |row|
@var2 = row.xpath('td').map(&:text)[0,3]
puts @var2
end

File.open('some.txt') do |file|
file.each_line do |line|
line1 = line.split(' ')
line2 = line1[0]
line3 = "$" + line1[1]
line4 = "$" + line1[2]

@var3 = line2.split(' ') + line3.split(' ') + line4.split(' ')
puts @var3
end
file.close()
end

在这两个变量中,我都有多个这样的行。如何比较 @var2@var3?此外,@var2 按日期降序排列。有没有办法比较两者的值/内容并得到结果?这也意味着使用上述格式,如果我更改其中一个数组中的值,则比较应该失败,例如:

@var2 =  ["2/05/2008", "$1.5000", "$2.0000"]
["1/06/2007", "$1.4000", "$1.0000"]

@var3 = ["1/06/2007", "$1.4456", "$1.0000"]
["2/05/2008", "$1.5000", "$2.2222"]

我尝试了几种方法,但不幸的是它没有用。我想我需要循环进入数组并进行比较,但不确定该怎么做。

我试过@var2 & @var3, @var2 - @var3。如果我更改其中一个数组中的值,它们似乎不起作用。比较似乎仍在检查索引并表示找到了匹配项。我想要与每个数组中的值进行逐行精确比较。

还有更多信息:-

我想知道数组是否包含完全相同的元素,顺序无关紧要。

数组 var2 和 var3 中可以有重复项。数组大小将相同。不会有更少的元素,也不会是 NIL。

最佳答案

在比较之前对数组进行排序:

@var2.sort == @var3.sort

除非我遗漏了什么,否则这基本上就是问题所在。

关于ruby - 比较 ruby​​ 中的 2 个数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858070/

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