Коллектив авторов - Rust на примерах
Название: | Rust на примерах | |
Автор: | Коллектив авторов | |
Жанр: | Другие языки и системы программирования, Учебники и самоучители по компьютеру, Любительские переводы, Программирование: прочее | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | 2011 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Rust на примерах"
https://doc.rust-lang.ru/stable/rust-by-example/
Rust - современный язык программирования, нацеленный на безопасность, скорость и параллелизм. Данные цели выполняются при условии безопасной работы с памятью без использования сборщика мусора.
Rust на примерах - это набор исполняемых примеров, которые иллюстрируют различные концепции языка Rust, а так же возможности его стандартной библиотеки. Для того, чтобы подчеркнуть ещё больше из этих примеров, не забудьте установить Rust на своём компьютере и проверить официальную документацию. Если вы ранее не сталкивались с языком программирования Rust, то советую вам для начала ознакомиться с русскоязычной книгой по Rust. Кроме этого можно посмотреть исходный код этого сайта или оригинала.
Читаем онлайн "Rust на примерах". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (78) »
• Doc комментарии, которые будут сгенерированы в HTML документацию:
• /// Генерация документации для функции.
• //! Генерация документации для модуля.
fn main() {
// This is an example of a line comment
// There are two slashes at the beginning of the line
// And nothing written inside these will be read by the compiler
// println!("Hello, world!");
// Run it. See? Now try deleting the two slashes, and run it again.
/*
* This is another type of comment, a block comment. In general,
* line comments are the recommended comment style. But
* block comments are extremely useful for temporarily disabling
* chunks of code. /* Block comments can be /* nested, */ */
* so it takes only a few keystrokes to comment out everything
* in this main() function. /*/*/* Try it yourself! */*/*/
*/
/*
Note: The previous column of `*` was entirely for style. There's
no actual need for it.
*/
// You can manipulate expressions more easily with block comments
// than with line comments. Try deleting the comment delimiters
// to change the result:
let x = 5 + /* 90 + */ 5;
println!("Is `x` 10 or 100? x = {}", x);
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Смотрите также:
Документирование библиотек
Форматированный вывод
Вывод обрабатывается несколькими макросами, которые определены в std::fmt. Вот некоторые из них:• format!: записывает форматированный текст в String.
• print!: работает аналогично с format!, но текст выводится в консоль (io::stdout).
• println!: аналогично print!, но в конце добавляется переход на новую строку.
• eprint!: аналогично format!, но текст выводится в стандартный поток ошибок (io::stderr).
• eprintln!: аналогично eprint!, но в конце добавляется переход на новую строку.
Весь текст обрабатывается аналогичным образом. Плюс данного метода в том, что корректность форматирования будет проверена на этапе компиляции программы.
fn main() {
// `{}` автоматически будет заменено на
// аргументы. Они будут преобразованы в строку.
println!("{} дней", 31);
// Без суффиксов, 31 является i32. Можно изменить тип 31,
// используя суффикс.
// Существует множество способов работы с форматированным выводом. Можно указать
// позицию для каждого аргумента.
println!("{0}, это {1}. {1}, это {0}", "Алиса", "Боб");
// Так же можно именовать аргументы.
println!("{subject} {verb} {object}",
object="ленивую собаку",
subject="быстрая коричневая лиса",
verb="прыгает через");
println!("{} из {:b} людей знают, что такое двоичный код, а остальные нет.", 1, 2);
// Можно выравнивать текст, сдвигая его на указанную ширину.
// Данный макрос отобразит в консоли
// " 1". 5 пробелов и "1".
println!("{number:>width$}", number=1, width=6);
// Можно добавить к цифрам пару нулей. Данный макрос выведет "000001".
println!("{number:>0width$}", number=1, width=6);
// Компилятор обязательно проверит, что в макрос передано правильное количество
// аргументов.
println!("Меня зовут {0}, {1} {0}", "Бонд");
// ИСПРАВЬТЕ ^ Добавьте недостающий аргумент: "Джеймс"
// Создаём структуру, которая хранит в себе `i32`. Назовём её `Structure`.
#[allow(dead_code)]
struct Structure(i32);
// Однако, пользовательские типы данных, например, как эта структура
// требуют более сложной обработки для вывода. Данный код не будет работать.
println!("Эта структура `{}` не хочет выводится на экран...", Structure(3));
// ИСПРАВЬТЕ ^ Закомментируйте эту строку.
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
std::fmt содержит в себе много типажей, которые управляют отображением текста. Базовая форма двух самых важных рассмотрена ниже:
• fmt::Debug: Использует маркер {:?}. Форматирует текст для отладочных целей.
• fmt::Display: Использует маркер {}. Форматирует текст в более элегантном,удобном для пользователя стиле.
В данном примере используется fmt::Display, потому что стандартная библиотека предоставляет реализацию для данного типа. Для отображения собственных типов потребуется больше дополнительных шагов.
Реализация- 1
- 2
- 3
- 4
- . . .
- последняя (78) »