Ruby 将展平索引与自己的索引进行比较

Ruby 将展平索引与自己的索引进行比较,ruby,indexing,flatten,Ruby,Indexing,Flatten,我正在数组中创建一个数组。(条款中的段落)。然后我将其展平为一个数组。让我们称之为数组\u比较\u引用 接下来我制作一个数组,为下一段给出一个数字。第一条第一款是第一号,第二款是第二号,第二条第一款是第三号,依此类推。让我们将此数组称为\u信息\u引用 每次我发现两个段落之间有50%的单词匹配,我都想将这些段落的文本保存到一个文件中。我使用.flatte循环浏览所有文章,并在索引编号中引用。但是,这些与数组信息引用的索引号不对应 我如何将一个(两级)的参考翻译成一个常规的(每一个新段落+=1)参

我正在数组中创建一个数组。(条款中的段落)。然后我将其展平为一个数组。让我们称之为数组\u比较\u引用

接下来我制作一个数组,为下一段给出一个数字。第一条第一款是第一号,第二款是第二号,第二条第一款是第三号,依此类推。让我们将此数组称为\u信息\u引用

每次我发现两个段落之间有50%的单词匹配,我都想将这些段落的文本保存到一个文件中。我使用.flatte循环浏览所有文章,并在索引编号中引用。但是,这些与数组信息引用的索引号不对应

我如何将一个(两级)的参考翻译成一个常规的(每一个新段落+=1)参考

paragraphnumber = Array.new
paragraphs = []
Dir.glob("*.txt").each do |textfile|
    #first level: textfiles
 paragraphtext = []
 File.foreach(textfile, "\.\r") do |paragraph|
    #second level: paragraphs within the textfiles
    #here I fill the array, effectively starting the index and adding 1 to the index at every iteration through the loop.
    # THIS IS THE ARRAY_INFORMATION_REFERENCE
    paragraphtext << paragraph
  end
  paragraphs << paragraphtext
 end

#here i make the second index:
paragraphs.flatten.each_with_index do |x, indexx|

    paragraphs.flatten.each_with_index do |y, indexy|
    count = x.count { |k,v| y.include?(k) }
    if count > 20
        #these are the reference numbers
        index_paragraph1 = "#{indexx}"
        index_paragraph2 = "#{indexy}"
        #And here i try to use the reference of the second Array, to find the information out the first Array, which is not working
            #THIS IS THE ARRAY_COMPARISON_INDEX
        information_paragraph1 = paragraphtext.at(indexx)
        information_paragraph2 = paragraphtext.at(indexy)
        end
    end
end
paragraphnumber=Array.new
段落=[]
Dir.glob(“*.txt”)。每个do |文本文件|
#第一级:文本文件
段落文本=[]
foreach(textfile,“\.\r”)do|段落|
#第二级:文本文件中的段落
#在这里,我填充数组,有效地启动索引,并在循环的每次迭代中向索引添加1。
#这是数组\u信息\u引用

段落文本由于您没有提供所有相关代码,并且我们无法看到
段落中的内容,因此我们无法了解
展平的效果


但是,我们可以说,如果展平没有效果(即,如果
段落
中没有数组),展平的索引将只与未展平的索引相匹配。

看起来不像是在
全局(…)中初始化
段落文本。
。每个
块。这是真的吗?我的实际代码要长得多,并且有很多元素。但是,是的,在实际代码中,在启动glob(…)之后有一个段落text=[]。如果你是这个意思的话。是的,我就是这个意思。我建议您添加该语句并删除
paragraphtext=Array.new
行,为清晰起见。如何初始化并递增
pararaafno
?我认为展示这一点很重要。事实上,我认为不是。我用它来引用文章中段落的编号。在本例中,每次我将一个新值放入paragraphtext数组时,引用号只需加上1。示例:p=Array.new | p我将再次查看我的代码。很明显,为了使它在stackoverflow上看起来像样,我减少了一些元素。问题是我想使用parahraphs.flatte的索引来定位段落_文本中的对应值(因此包含信息的数组)。但是,通过使用“展平”。索引已更改。第二篇文章的第一段可能在数组信息引用中的索引3处,但它可能在数组比较引用中的索引7处。我将尝试改进示例中的代码..您说:“如果展平没有效果(即段落中没有数组),展平索引将只匹配未展平的索引”-这正是我的问题。那么,我如何才能引用回(包含)所有信息的数组?如果我知道两个段落之间存在匹配,那么我希望从这些段落中获得信息,但我不知道如何获得这些信息?如果您的段落数组(即嵌入式数组、哈希等)具有非平凡的结构,然后,如果要将索引分为该结构的子序列,就必须导航并保留该复杂结构的索引。或者,可以保留并索引到展平数组中。