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

В вышеуказанных кусках кода, обратите на ветку match, которая имеет ключевое отличие в зависимости от типа выполнения итераций. Разница в типе, конечно, подразумевает различные действия, которые могут быть выполнены.

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

Итераторы (Iterator)

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

Rust предоставляет ключевое слово match, которое используется для проверки на соответствие шаблону. match можно использовать как switch в языке C.

fn main() {

let number = 13;

// ЗАДАНИЕ ^ Попробуйте присвоить `number` другое значение

println!("Tell me about {}", number);

match number {

// Сопоставление с одним значением

1 => println!("One!"),

// Сопоставление с несколькими значениями

2 | 3 | 5 | 7 | 11 => println!("This is a prime"),

// Сопоставление с диапазоном значений

13..=19 => println!("A teen"),

// Обработка остальных случаев

_ => println!("Ain't special"),

}

let boolean = true;

// Match так же является выражением

let binary = match boolean {

// Ветви match должны обработать все возможные значения переменной

false => 0,

true => 1,

// ЗАДАНИЕ ^ Попробуйте закомментировать эту ветвь

};

println!("{} -> {}", boolean, binary);

}

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

<p id="Деструктуризация"><strong><a l:href="#Деструктуризация">Деструктуризация</a></strong></p>

Блок match может деструктурировать элементы в различных формах.

   • Перечисления

   • Указатели

   • Структуры

   • Кортежи

<p id="Кортежи_1"><strong><a l:href="#Кортежи_1">Кортежи</a></strong></p>

Кортежи можно деструктурировать с помощью match следующим образом:

fn main() {

let pair = (0, -2);

// ЗАДАНИЕ ^ Попробуйте другие значения для `pair`

println!("Tell me about {:?}", pair);

// Match можно использовать для деструктуризации кортежей

match pair {

// Деструктурируем два значения

(0, y) => println!("Первое значение `0`, а `y` равно `{:?}`", y),

(x, 0) => println!("`x` равно `{:?}`, а второе значение `0`", x),

_ => println!("Неважно, какого они значения"),

// `_` означает, что значение не будет связано с переменной

}

}

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Tuples

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

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

Компьютерные сети. 6-е изд.
Компьютерные сети. 6-е изд.

Перед вами шестое издание самой авторитетной книги по современным сетевым технологиям, написанное признанным экспертом Эндрю Таненбаумом в соавторстве со специалистом компании Google Дэвидом Уэзероллом и профессором Чикагского университета Ником Фимстером. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером. В книге последовательно изложены основные концепции, определяющие современное состояние компьютерных сетей и тенденции их развития. Авторы подробно объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до прикладного. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования интернета и компьютерных сетей различного типа. Большое внимание уделяется сетевой безопасности. Шестое издание полностью переработано с учетом изменений, произошедших в сфере сетевых технологий за последние годы, и, в частности, освещает такие технологии, как DOCSIS, 4G и 5G, беспроводные сети стандарта 802.11ax, 100-гигабитные сети Ethernet, интернет вещей, современные транспортные протоколы CUBIC TCP, QUIC и BBR, программно-конфигурируемые сети и многое другое.

Дэвид Уэзеролл , Ник Фимстер , Эндрю Таненбаум

Учебные пособия, самоучители
Писать нельзя молчать
Писать нельзя молчать

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

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

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

Все жанры