Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpEdTx 206 of 288 menu
◀ ▶

Текст файла при сборке в Rust

Текстовый файл можно превратить в строку, которая известна уже на этапе сборки. Штатная запись для текста читает файл как UTF-8 и дает тип со сроком на весь запуск программы, без отдельного чтения с диска в main.

Рядом с main.rs лежит note.txt; вшиваем его и печатаем содержимое:

fn main() { let note = include_str!("note.txt"); println!("{}", note); }

На момент сборки файл содержит такой текст:

hello from file

После сборки строка note уже лежит внутри программы. Переменная ссылается на эти байты так же долго, как литерал в двойных кавычках в коде.

Тот же прием годится для коротких шаблонов, подсказок и статических конфигов, которые не должны пропасть, если рядом с бинарником забыли положить папку с файлами:

fn main() { let hint = include_str!("note.txt"); println!("{}", hint); }

Дан файл:

rust

Вшейте текст в переменную note и выведите note из main.

Дан файл:

line one

Сохраните содержимое в text, выведите длину в символах Unicode и сам текст.

Дан файл:

ok

Программа уже собрана с этим файлом, затем note.txt на диске заменили другим текстом без пересборки. Скажите, что увидит запуск старого бинарника.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить