2010-10-07 17 views
12

मुझे एक अद्वितीय डी (int, int) tuples ए सरणी मिली है।कैसे जांचें कि सरणी 2.8 में एक विशेष मान है?

मुझे पता होना चाहिए कि सरणी में (एक्स, वाई) मान है या नहीं।

क्या मैं स्वयं एक खोज एल्गोरिदम लागू करने के लिए हूं या स्कैला 2.8 में इसके लिए एक मानक कार्य है? मैंने documentation पर देखा है लेकिन वहां ऐसे कुछ भी नहीं मिला।

उत्तर

25

आसान लगता है कि (जब तक मैं कुछ याद कर रहा हूँ):

scala> val A = Array((1,2),(3,4)) 
A: Array[(Int, Int)] = Array((1,2), (3,4)) 

scala> A contains (1,2) 
res0: Boolean = true 

scala> A contains (5,6) 
res1: Boolean = false 

मैं API कॉल आप के लिए है देख रहे हैं ArrayLike में सोचते हैं।

+1

करने का यह अच्छा रास्ता मिल गया। मैं यहां समाप्त हुआ क्योंकि यह ctrl + space list में दिखाई नहीं दे रहा था, और मुझे फर्श लगाया गया था कि यह एक मानक विधि नहीं थी। – Carcigenicate

2

मैं यह अच्छा होगा यदि ग्रहण अंतर्निहित रूपांतरण के माध्यम से उपलब्ध तरीकों मिल सकता है किया जाएगा

scala> var personArray = Array(("Alice", 1), ("Bob", 2), ("Carol", 3)) 
personArray: Array[(String, Int)] = Array((Alice,1), (Bob,2), (Carol,3)) 

scala> personArray.find(_ == ("Alice", 1)) 
res25: Option[(String, Int)] = Some((Alice,1)) 

scala> personArray.find(_ == ("Alic", 1)) 
res26: Option[(String, Int)] = None 

scala> personArray.find(_ == ("Alic", 1)).getOrElse(("David", 1)) 
res27: (String, Int) = (David,1) 
संबंधित मुद्दे