0
如何編寫一個函數,如果列表中的所有元素都滿足給定的謂詞,則返回true?將謂詞應用於序列的所有元素
考慮到文章任何斷言:
val set = List(3, 4, 5, 6, 10)
我想我需要寫類似於:
def checkListElements(list parameters...): Boolean = true if condition meet else false
如何編寫一個函數,如果列表中的所有元素都滿足給定的謂詞,則返回true?將謂詞應用於序列的所有元素
考慮到文章任何斷言:
val set = List(3, 4, 5, 6, 10)
我想我需要寫類似於:
def checkListElements(list parameters...): Boolean = true if condition meet else false
你不必自己寫一個,你可以使用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
謝謝!我怎麼可以重寫這個,如果單個元素滿足條件,它將返回true。 – user2300867
@ user2300867改爲使用'Iterator.exists'。 –
@ user2300867另一個有用的方法是閱讀相應的API文檔。 –