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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Вы можете посмотреть полный список типажей форматирования и их типы аргументов в документации к std::fmt.

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

Добавьте реализацию типажа fmt::Display для структуры Color, чтобы вывод отображался вот так:

RGB (128, 255, 90) 0x80FF5A

RGB (0, 3, 254) 0x0003FE

RGB (0, 0, 0) 0x000000

Пару подсказок, если вы не знаете, что делать:

   • Вам возможно потребуется перечислить каждый цвет несколько раз,

   • Вы можете добавить немного нулей с :02.

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

std::fmt

<p id="Примитивы"><strong><a l:href="#Примитивы">Примитивы</a></strong></p>

Rust предоставляет доступ к большому количеству примитивов:

<p id="Скалярные_типы"><strong><a l:href="#Скалярные_типы">Скалярные типы</a></strong></p>

   • знаковые целочисленные: i8, i16, i32, i64 и isize (размер указателя)

   • беззнаковые целочисленные: u8, u16, u32, u64 и usize (размер указателя)

   • вещественные: f32, f64

   • char скалярное значение Unicode, например: 'a', 'α' и '∞' (4 байта каждый)

   • bool: true или false

   • единичный тип (), значение которого так же ()

Несмотря на то, что значение единичного типа является кортежем, оно не считается составным типом, потому что не содержит нескольких значений.

<p id="Составные_типы"><strong><a l:href="#Составные_типы">Составные типы</a></strong></p>

   • массивы, например [1, 2, 3]

   • кортежи, например (1, true)

Переменные всегда должны быть аннотированы. Числам можно указать определённый тип с помощью суффикса, иначе будет присвоен тип по умолчанию. Целочисленные значения по умолчанию i32, а вещественные f64. Стоит заметить, что Rust также умеет выводить типы из контекста.

fn main() {

// Переменные могут быть аннотированы.

let logical: bool = true;

let a_float: f64 = 1.0; // Обычная аннотация

let an_integer = 5i32; // Суффиксная аннотация

// Этим переменным будет присвоен тип по умолчанию.

let default_float = 3.0; // `f64`

let default_integer = 7; // `i32`

// Тип также может быть выведен из контекста.

let mut inferred_type = 12; // Тип i64 выводится из другой строки

inferred_type = 4294967296i64;

// Значение изменяемой переменной может быть изменено.

let mut mutable = 12; // Изменяемое `i32`

mutable = 21;

// Ошибка! Тип переменной изменить нельзя.

mutable = true;

// Переменные могут быть переопределены с помощью затенения.

let mutable = true;

}

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

стандартная библиотека (std), mut, вывод типов и затенение

<p id="Литералы_и_операторы"><strong><a l:href="#Литералы_и_операторы">Литералы и операторы</a></strong></p>

Целочисленное 1, вещественное 1.2, символ 'a', строка "abc", логическое true и единичный тип () могут быть выражены с помощью литералов.

Целочисленные значения так же могут быть выражены с помощью шестнадцатеричного, восьмеричного или двоичного обозначения используя соответствующие префиксы: 0x, 0o или 0b.

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

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

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

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

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

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