Макрос include_str!
Макрос include_str! читает указанный файл
во время компиляции и вставляет его содержимое
в код как строковый литерал типа &'static str.
Параметром макрос принимает путь к файлу,
который нужно встроить. Путь задаётся относительно
файла, в котором вызван макрос, и должен быть
строковым литералом. Если файл не найден или
не является корректным UTF-8, компиляция завершится
ошибкой.
Синтаксис
include_str!("path/to/file.txt")
Пример
Давайте встроим содержимое файла "data.txt",
который лежит рядом с исходным файлом, и выведем его на экран:
fn main()
{
let content = include_str!("data.txt");
println!("{}", content);
}
Если файл "data.txt" содержит строку
"abcde", результатом выполнения кода будет:
abcde
Пример
Давайте встроим содержимое файла "numbers.txt"
и посчитаем количество символов в нём:
fn main()
{
let content = include_str!("numbers.txt");
let len = content.len();
println!("{}", len);
}
Если файл "numbers.txt" содержит строку
"12345", результатом выполнения кода будет:
5
Пример
Давайте встроим содержимое файла "message.txt"
и проверим, содержит ли оно подстроку "bcd":
fn main()
{
let content = include_str!("message.txt");
let res = content.contains("bcd");
println!("{}", res);
}
Если файл "message.txt" содержит строку
"abcde", результатом выполнения кода будет:
true
Смотрите также
-
макрос
include_bytes!,
который встраивает содержимое файла как массив байтов -
макрос
concat!,
который объединяет строковые литералы во время компиляции -
макрос
file!,
который возвращает имя текущего исходного файла -
макрос
line!,
который возвращает номер текущей строки в исходном файле