Spec-Zone.ru › RethinkDB ruby

Команда ReQL: |, или

Синтаксис команды

bool | bool → bool
bool.or([bool, bool, ...]) → bool
r.or([bool, bool, ...]) → bool

Описание

Вычисляет логическое «или» одного или нескольких значений.

Команда or может использоваться как инфиксный оператор после первого аргумента (r.expr(true).or(false)) или со всеми аргументами в качестве параметров (r.or(true, false)). Стандартный оператор «или» в Ruby, |, также может использоваться с ReQL.

Вызов or с нулевыми аргументами вернёт false.

Пример: Возвращает значение, если либо a либо b истинно.

> a = true
> b = false
> (r.expr(a) | b).run(conn)

true

Пример: Возвращает значение, если хотя бы одно из x, y или z истинно.

> x = false
> y = false
> z = false
> r.or(x, y, z).run(conn)

false

Примечание: При использовании or внутри filter предиката для проверки значений полей, которые могут отсутствовать в проверяемых документах, следует использовать команду default с этими полями, чтобы они явно возвращали false.

r.table('posts').filter { |post|
    post['category'].default('foo').eq('article').
    or(post['genre'].default('foo').eq('mystery'))
}.run(conn)

Связанные команды

  • &, и

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/or/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API