2016-10-14 69 views
0

如何編寫一個函數,如果列表中的所有元素都滿足給定的謂詞,則返回true?將謂詞應用於序列的所有元素

考慮到文章任何斷言:

val set = List(3, 4, 5, 6, 10) 

我想我需要寫類似於:

def checkListElements(list parameters...): Boolean = true if condition meet else false 

回答

7

你不必自己寫一個,你可以使用Iterator.forall

scala> var list = List(1,2,3,4,5) 
set: List[Int] = List(1, 2, 3, 4, 5) 

scala> list.forall(i => i % 2 == 0) 
res0: Boolean = false 

使用語法糖有點短:

scala> list.forall(_ % 2 == 0) // Underscore will expand to i => i % 2 == 0 
res2: Boolean = false 
+0

謝謝!我怎麼可以重寫這個,如果單個元素滿足條件,它將返回true。 – user2300867

+0

@ user2300867改爲使用'Iterator.exists'。 –

+2

@ user2300867另一個有用的方法是閱讀相應的API文檔。 –