繁体   English   中英

在Ruby中运行并行循环

[英]Run parallel loops in Ruby

我在文件中存储了两组数组,我需要一个一个地提取值并进行比较。 我正在使用此代码,但确实看起来正确。

# First Dataset
File.foreach(file_set_a) do |data_a|

  data_array_a = data_a.split("\t")
  @file_name_a = data_array_a[0]
  @file_ext_a = data_array_a[1]

  # Second Dataset
  File.foreach(file_set_b) do |data_b|

    data_array_b = data_b.split("\t")
    @file_name_b = data_array_b[0]
    @file_ext_b = data_array_b[1]

    #Compare
    @file_name_a == @file_name_b 
  end
end

问题是,当我输入集合B时,我无法返回并提取集合A中的下一个值。有什么建议吗?

首先,将这两个文件转换为两个单独的数据数组

lines_array_a = File.readlines(file_set_a)
lines_array_b = File.readlines(file_set_b)

我假设两个数组的大小都一样。 现在运行一个循环,并从两个数组中获取项目以进行比较。

for i in 0..(lines_array_a.count - 1) do
  data_array_a = lines_array_a[i].split("\t")
  @file_name_a = data_array_a[0]
  @file_ext_a = data_array_a[1]

  data_array_b = lines_array_b[i].split("\t")
  @file_name_b = data_array_b[0]
  @file_ext_b = data_array_b[1]

  @file_name_a == @file_name_b
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM