2012-07-26 38 views
0

確定,所以我有此陣列如何找到元素不在紅寶石數組中?

array 
=> [1620, 3093] 

和我有一個整數

num 
=> 1620 

有一種簡單的方式,以查看是否有陣列中的另一個數不是num

所以例如

是否有另一個數字不符合num。因此,對於上面的例子中,我將返回true,但如果數組是[1620, 1620]然後我將返回false

回答

6
arr.any?{|x| x != num } 

以上應該可以正常工作,也是可讀且高效的!

+0

好戲!我的直覺也是爲了達到像@ Deefour的解決方案那樣的#reject #size組合。 – jmdeldin 2012-07-26 05:10:07

2
array.select{|array_num| array_num != num}.length > 0 

編輯:或更清潔:

(array - [num]).empty? 
+2

我喜歡的第2位。 – deefour 2012-07-26 02:48:06

2
array.reject{ |a| a == num }.size > 0 
1

加入帶有分隔符的排序數組,並查找是否與2個相鄰數字匹配。

array.sort.join( 「 」)。包括什麼呢?(「 #{NUM}#{NUM}」)