2013-07-26 10 views

cevap

50
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little") 
res0: Int = 3 

endeksi için sorarsanız 3 almak gerekir. ;)

+1

'.indexOf' ayrıca Array için çalışır –

28

İsterseniz daha sonra, "a" içeren tüm endekslerin listesi: Eğer bir yüklem tarafından aramak istiyorsanız

val ls = List("Mary", "had", "a", "little", "lamb","a") 
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2) 
res13: List[Int] = List(2, 5) 
+16

İlginç! Sanırım bu, _collect_'ın ne için olduğu: ls.zipWithIndex.collect {case ("a", i) => i} ' – DaoWen

25

, kullanmak .indexWhere(f):

Bu 1 döndürür
val ls = List("Mary", "had", "a", "little", "lamb","a") 
ls.indexWhere(_.size <= 3) 

, "vardı" en çok 3 harfli ilk kelimedir.

İlgili konular