Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Группирующие выражения

Syntax
GroupedExpression( Expression )

Выражение в скобках оборачивает одиночное выражение, вычисляясь в это выражение. Синтаксис выражения в скобках: (, затем выражение, называемое включенным операндом, и затем ).

Выражения в скобках вычисляются в значение включенного операнда.

В отличие от других выражений, выражения в скобках являются одновременно выражениями-местами и выражениями-значениями. Когда включенный операнд является выражением-местом, оно является выражением-местом, и когда включенный операнд является выражением-значением, оно является выражением-значением.

Скобки могут быть использованы для явного изменения порядка приоритета подвыражений внутри выражения.

Пример выражения в скобках:

#![allow(unused)]
fn main() {
let x: i32 = 2 + 3 * 4; // без скобок
let y: i32 = (2 + 3) * 4; // в скобках
assert_eq!(x, 14);
assert_eq!(y, 20);
}

Пример необходимого использования скобок - вызов указателя на функцию, который является членом структуры:

#![allow(unused)]
fn main() {
struct A {
   f: fn() -> &'static str
}
impl A {
   fn f(&self) -> &'static str {
       "Метод f"
   }
}
let a = A{f: || "Поле f"};

assert_eq!( a.f (), "Метод f");
assert_eq!((a.f)(), "Поле f");
}