Skip to content

Exists#

The e.exists(x, p) macro tests whether predicate p is true for any element x in collection e.

Lists#

Returns true if the predicate is true for at least one element.

[1, 2, 3].exists(x, x > 1)
// result: true (bool)
[1, 2, 3].exists(x, x > 5)
// result: false (bool)

An empty list returns false.

[].exists(x, x > 0)
// result: false (bool)

Maps#

When applied to a map, exists iterates over the keys.

// input: scores = {"alice": 95, "bob": 72}
scores.exists(name, scores[name] >= 90)
// result: true (bool)

An empty map returns false.

{}.exists(k, k == "x")
// result: false (bool)

Membership#

For clarity, use in rather than exists for membership checks. The following two examples are equivalent.

[1, 2, 3].exists(x, x == 2)
// result: true (bool)
2 in [1, 2, 3]
// result: true (bool)

Short-circuit evaluation#

Evaluation stops at the first true result.

[1, 0, -1].exists(x, 1 / x > 0)
// result: true (bool)

The first element produces true so evaluation stops before reaching 0.

See also#

  • All - Universal quantifier
  • Lists - List basics
  • Maps - Map basics