Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpTrPrm 16 of 288 menu
◀ ▶

Практика на трейты в Rust

Дана структура:

struct Dog { name: &'static str, } let dog = Dog { name: "rex" };

Объявите набор с методом, который возвращает String "dog rex", выполните его для Dog и выведите результат.

Дана структура:

struct Task { title: &'static str, done: bool, } let task = Task { title: "read", done: false };

Сделайте два набора: один отдает title, другой done. Выполните оба для Task и выведите оба поля отдельными вызовами.

Дана структура:

struct Msg { text: &'static str, } let msg = Msg { text: "ok" };

Запишите набор с методом по умолчанию, который возвращает "msg", и метод body без тела, отдающий text. Выполните для Msg, допишите только body, выведите обе строки.

Дана структура:

struct Node { id: i32, } let node = Node { id: 8 };

Объявите набор с методом id, выполните для Node и передайте ссылку в функцию с ограничением по этому набору, которая печатает число.

Дана структура:

struct Card { rank: i32, suit: &'static str, } let card = Card { rank: 11, suit: "spade" };

Сделайте наборы для rank и suit, выполните оба для Card и вызовите функцию с двумя ограничениями, которая выводит оба значения в одной строке.

Дана структура:

struct Weight(i32); let kg = 15;

Выполните стандартный перевод из i32 в Weight, получите значение через into у kg и выведите поле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить