Макрос column!
Макрос column возвращает номер колонки,
в которой был вызван. Нумерация колонок начинается
с единицы. Макрос не принимает параметров и
раскрывается в целочисленное значение типа u32.
Чаще всего он используется для отладки, логирования
и создания информативных сообщений об ошибках.
Синтаксис
column!()
Пример
Давайте получим номер колонки, в которой расположен вызов макроса:
fn main()
{
let res = column!();
println!("{}", res);
}
Результат выполнения кода:
13
Пример
Давайте выведем номер колонки вместе с номером строки, чтобы получить точное расположение вызова макроса:
fn main()
{
let line = line!();
let col = column!();
println!("line: {}, column: {}", line, col);
}
Результат выполнения кода:
line: 3, column: 13
Пример
Давайте используем column внутри
пользовательской функции для создания
отладочного сообщения:
fn debug_info()
{
let line = line!();
let col = column!();
let file = file!();
println!("{}:{}:{}", file, line, col);
}
fn main()
{
debug_info();
}
Результат выполнения кода:
"src/main.rs:7:13"
Смотрите также
-
макрос
line!,
который возвращает номер текущей строки -
макрос
file!,
который возвращает имя текущего файла -
макрос
module_path!,
который возвращает путь текущего модуля -
макрос
stringify!,
который превращает выражение в строковый литерал