2016-10-14 3 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. –

Смежные вопросы