用while循环创建一个数组

时间:2018-05-04 17:23:34

标签: ruby-on-rails ruby

我有两组数组(a和b)都来自不同的来源。为简化起见,它们是数组a:URN [],HomeTeam [],HomeOdds []和数组b:PINURN [],PINHomeTeam []和PINHomeOdds []。

我想将URN(6个字母的唯一引用字符串)与PINURN进行比较,找到匹配的位置,然后创建一个新的数组(最初)由(普通)HomeTeam组成。一旦我有逻辑

,我可以重复其他元素

逻辑上我想: 使用内部while循环进行1次循环,以检查阵列b第一行中URN的所有“pinurn”值(数组a), 2如果有匹配,我将它添加到新数组c(@match *。*) 3将一个添加到数组b,然后重复该过程 我应该得到一个包含所有匹配值的新数组c

然而,虽然这找到第一个匹配并将其输出到数组c中,但它不循环并重复将其他匹配添加到该数组,因此我实质上只返回一个变量而不是数组。

有人能指出我正确的方向吗?

##find common ground
@matchateam=[]
@matchbteam=[]
counter = 0

while smarketscounter < 100
  while counter < 100
    if @pinurn[counter] == @urn[smarketscounter]
       @matchateam << @pinhometeam[counter]
       @matchbteam << @hometeam[smarketscounter]
    end
    counter +=1
  end
  smarketscounter +=1
end

1 个答案:

答案 0 :(得分:-1)

你能使用&吗?例如:

a = [1, 3, 4]
b = [1, 4, 10]
a & b #=> [1, 4]