2014-10-31 53 views

回答

1

使用& Ruby的運算符,它會返回一個數組,其值爲intersection兩個數組,下面是一個例子。

pry(main)> a = ["1","2","3","6","7"] 
=> ["1", "2", "3", "6", "7"] 
pry(main)> b = ["2","4","7"] 
=> ["2", "4", "7"] 
pry(main)> a & b 
=> ["2", "7"] 
pry(main)> (a & b).empty? 
=> false 

在Rails中,你也可以使用blank?

pry(main)> (a & b).blank? 
=> false 

希望上面的例子可以幫助

+2

我想'空?'因爲它來自紅寶石STD庫的方法是更好地在這裏('空白?'來自'activesupport'),因此這將是更通用的解決方案。 – 2014-10-31 10:24:01

+0

是的@MarekLipka,我同意你的看法,'empty'也可以用,我會編輯答案。謝謝 – RSB 2014-10-31 10:25:44

2

就是這麼簡單:

(a & b).blank? 

實際上這是什麼做的是,它需要兩個數組的intersection並返回結果,然後檢查結果是否爲bla NK /空。

+2

如果用戶似乎提出一個簡單的問題,他可能在Ruby中不是很有經驗。因此,你的答案的一些解釋是適當的。 – 2014-10-31 10:47:30

2

你可以做

a = ["1","2","3","6","7"] 
b = ["2","4","7"] 
b.any? { |e| a.include?(e) } 
+0

在G.B.的回答中看到我的評論 – 2014-10-31 10:48:05

相關問題