說我有一個數組,如:紅寶石迭代 - 嘗試在單次匹配兩個數字
a = [1, 2, 3, 4, 5, 6]
,我有兩個變量是這樣的:
b = 3
c = 4
我想要做的事像這樣:
a.each do |i|
if(b = = i) and (c == i.next(I don't think I can do this))
return true
end
end
任何幫助,將不勝感激。
史蒂夫G.
說我有一個數組,如:紅寶石迭代 - 嘗試在單次匹配兩個數字
a = [1, 2, 3, 4, 5, 6]
,我有兩個變量是這樣的:
b = 3
c = 4
我想要做的事像這樣:
a.each do |i|
if(b = = i) and (c == i.next(I don't think I can do this))
return true
end
end
任何幫助,將不勝感激。
史蒂夫G.
不要使用
a.each_slice
要得到一系列配對的對象。
按照steenslag或glenn mcdonald的建議使用each_cons。
你需要做在一個循環中,或可你只是跟蹤如果每個變量是有問題的陣列的member?
?或者把它們放到一個散列/集合中並確保每個鍵都包含在內?或保持循環,並保持邏輯ORing是否或每個var是否爲member?
或將members?
方法添加到數組,你開始了。
each_cons你想要做什麼:
a = [1, 2, 3, 4, 5, 6]
b=3
c=4
a.each_cons(2){|v1, v2| puts(b == v1 && c == v2)}
# output:
# false
# false
# true
# false
# false
a.each_cons(2).include?([b,c])
不,'a.each_slice(2)'會給你[1,2] [3,4]和[5,6],其如果你正在尋找b = 2 c-3,那麼它將不起作用。 –
@glennmcdonald:你說得對。謝謝。 –