Узнал сегодня о макросе
include
в Rust, который парсит заданный файл как выражение на расте. В доке сразу советуют им не пользоваться лишний раз. Действительно, странно-опасная штука, контект выражения смешивается с округающим кодом. Но круто, да.
/// File 'monkeys.in':
['🙈', '🙊', '🙉']
.iter()
.cycle()
.take(6)
.collect::<String>()
/// File 'main.rs':
fn main() {
let my_string = include!("monkeys.in");
assert_eq!("🙈🙊🙉🙈🙊🙉", my_string);
println!("{}", my_string);
}
https://doc.rust-lang.org/std/macro.include.htmlИ более адекватные братья
include_bytes
&
include_str
. Работаю так же, ток типы байт аррей и строка соотв.
Казалось бы, причем тут префикс
include
, а как подсказал друг, это смахивает на
include
из си. Как помню в ранних версиях это просто означало: вставь этот файл сюда и компиль (хотя си далеко от этой мысли не ушел)