我有两组数组(a和b),它们都来自不同的来源。为简化起见,它们是数组组a: URN[]、HomeTeam[]、HomeOdds[]和数组组b: PINURN[]、PINHomeTeam[]和PINHomeOdds[]。
我希望将URN (一个6个字母的唯一引用字符串)与PINURN进行比较,找到匹配的位置,然后创建一个新的数组,这个数组将(最初)由(公共的) HomeTeam组成。一旦我有了逻辑,我就可以重复其他元素。
从逻辑上讲,我试图:1循环一次,用内部while循环检查数组b的第一行中的所有'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发布于 2018-05-04 18:29:22
你能用&吗?例如:
a = [1, 3, 4]
b = [1, 4, 10]
a & b #=> [1, 4]https://stackoverflow.com/questions/50180202
复制相似问题