Читаем Rust на примерах полностью

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, потому что стандартная библиотека предоставляет реализацию для данного типа. Для отображения собственных типов потребуется больше дополнительных шагов.

Реализация типажа fmt::Display автоматически предоставляет реализацию типажа ToString, который позволяет нам конвертировать наш тип в String.

<p id="Задания"><strong><a l:href="#Задания">Задания</a></strong></p>

   • Исправьте две ошибки в коде выше (смотрите ИСПРАВЬТЕ), чтобы код компилировался без ошибок

   • Добавьте макрос println!, который выводит: Pi is roughly 3.142 с помощью управления количеством знаков после запятой. Для выполнения данного задания создайте переменную, которая будет хранить в себе значение числа Пи: let pi = 3.141592. (Подсказка: вам необходимо ознакомиться с документацией по std::fmt, чтобы узнать, как отобразить в консоли только часть знаков после запятой).

<p id="Смотрите_также_1"><strong><a l:href="#Смотрите_также_1">Смотрите также:</a></strong></p>

std::fmt, макросы, struct, и trait

<p id="debug"><strong><a l:href="#debug">Debug</a></strong></p>

Все типы, которые будут использовать типажи форматирования std::fmt требуют их реализации для возможности печати. Автоматическая реализация предоставлена только для типов из стандартной библиотеки (std). Все остальные типы должны иметь собственную реализацию.

Перейти на страницу:

Похожие книги

Писать нельзя молчать
Писать нельзя молчать

Неужели ты опять отложишь мечту – написать книгу? Опять занят и считаешь затею глупостью? А ведь чтобы сотворить историю нужно совсем немного: капелька поддержки на старте, чуток теории в процессе и безудержная энергия творчества, которую я помогу тебе разбудить. Или вспомнить.Мир живёт историями, и каждый может стать увлекательным рассказчиком. В этой книге я дам ответы на самые животрепещущие вопросы писателя-новичка. Эта книга для тех, кто:• Хочет писать истории, но откладывает дело в долгий ящик;• Писал раньше, но разуверился в своих силах;• Боится показаться глупым мечтателем в глазах близких;• Боится совершить ошибки;• Просто застрял и не знает, как воплотить свою идею;• Давно пишет, но не может довести до конца ни одну историю;• Не знает, как найти свою аудиторию, как с ней общаться;• Хочет почерпнуть вдохновение от общения с коллегой по писательскому делу.Эта книга написана без лишнего пафоса и с конкретными шагами на внедрение. Все, что остается, это сесть поудобнее и приступить к чтению.В формате PDF A4 сохранен издательский макет книги.

Юрий Михайлович Окунев , Юрий Окунев

Хобби и ремесла / Учебные пособия, самоучители / Дом и досуг