2010-10-07 4 views

Répondre

25

Cela semble facile (à moins que je me manque quelque chose):

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 

Je pense que l'api vous appelle vous cherchez est en ArrayLike.

+1

Ce serait bien si Eclipse pourrait trouver des méthodes disponibles par conversion implicite. Je me suis retrouvé ici parce qu'il n'apparaissait pas dans la liste des ctrl + et j'ai été surpris que ce n'était pas une méthode standard. – Carcigenicate

2

J'ai trouvé cette belle façon de faire

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) 
Questions connexes