Подтвердить что ты не робот

Scala для примера?

Я попробовал поиск Google и не смог найти достойный пример forall. Что оно делает? Зачем нужна логическая функция?

Пожалуйста, укажите мне ссылку (кроме Scaladoc).

4b9b3361

Ответ 1

Метод forall принимает функцию p, которая возвращает логическое значение. Семантика forall говорит: return true, если для каждого x в коллекции, p(x) истинно.

Итак:

List(1,2,3).forall(x => x < 3)

означает: true, если 1, 2 и 3 меньше 3, false в противном случае. В этом случае он будет оцениваться до false, так как это не так, все элементы меньше 3: 3 не меньше 3.

Существует аналогичный метод exists, который возвращает true, если в коллекции есть хотя бы один элемент x, так что p(x) является истинным.

Итак:

List(1,2,3).exists(x => x < 3)

означает: true, если хотя бы один из 1, 2 и 3 меньше 3, false в противном случае. В этом случае он будет оцениваться как true, поскольку в этом случае некоторый элемент меньше 3: например. 1 меньше 3.

Ответ 2

Быстрый пример того, как вы можете играть с этой функцией с помощью Scala script.

создать файл myScript.scala с помощью

println(args.forall(p => (p.equals("a"))))

и назовите его

scala myScript.scala a a a  // true
scala myScript.scala a b c  // false