РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
823 of 1245 menu

Макрос dbg!

Макрос dbg! принимает выражение, выводит его значение в стандартный поток ошибок вместе с именем файла, номером строки и исходным текстом выражения, а затем возвращает переданное значение обратно. Это удобно для быстрой отладки без изменения логики программы: макрос можно вставлять прямо в выражения. Параметром макрос принимает одно или несколько выражений, которые нужно вывести.

Синтаксис

dbg!(expr) dbg!(expr1, expr2, ...)

Пример

Давайте выведем значение переменной и убедимся, что макрос возвращает переданное значение:

fn main() { let x = 5; let res = dbg!(x) + 1; println!("{}", res); }

Результат выполнения кода:

[src/main.rs:4] x = 5 6

Пример

Давайте передадим в макрос сразу несколько выражений:

fn main() { let a = 1; let b = 2; dbg!(a, b); }

Результат выполнения кода:

[src/main.rs:4] a = 1 [src/main.rs:4] b = 2

Пример

Давайте выведем результат вызова метода над строкой:

fn main() { let res = dbg!("abcde".to_uppercase()); println!("{}", res); }

Результат выполнения кода:

[src/main.rs:3] "abcde".to_uppercase() = "ABCDE" ABCDE

Смотрите также

  • макрос assert!,
    который проверяет истинность условия
  • макрос assert_eq!,
    который проверяет равенство двух значений
  • макрос panic!,
    который прерывает выполнение программы с сообщением
  • макрос println!,
    который выводит данные в стандартный поток вывода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить