## Predicate

The predicate is an expression. Predicates can be used in functions like `filter`, `all`, `any`, `one`, `none`, etc.
For example, next expression creates a new array from 0 to 9 and then filters it by even numbers:

```expr
filter(0..9, {# % 2 == 0})
```

If items of the array is a struct or a map, it is possible to access fields with
omitted `#` symbol (`#.Value` becomes `.Value`).

```expr
filter(tweets, {len(.Content) > 240})
```

Braces `{` `}` can be omitted:

```expr
filter(tweets, len(.Content) > 240)
```

:::tip
In nested predicates, to access the outer variable, use [variables](#variables).

```expr
filter(posts, {
    let post = #; 
    any(.Comments, .Author == post.Author)
}) 
```

:::

## String Functions

### trim(str[, chars]) {#trim}

138:            <code>?:</code> (ternary), <code>??</code> (nil coalescing), <code>if {} else {}</code> (multiline)
