Кортежні структури
Якщо імена полів неважливі, ви можете використати структуру кортежу:
Це часто використовується для обгорток з одним полем (так званих newtypes):
Speaker Notes
This slide should take about 10 minutes.
- Newtypes — чудовий спосіб закодувати додаткову інформацію про значення в примітивному типі, наприклад:
- Число вимірюється в деяких одиницях: у наведеному вище прикладі
Newtons
. - Значення пройшло певну перевірку під час створення, тому вам більше не потрібно перевіряти його знову при кожному використанні:
PhoneNumber(String)
абоOddNumber(u32)
.
- Число вимірюється в деяких одиницях: у наведеному вище прикладі
- Продемонструйте, як додати значення
f64
до типуNewtons
, отримавши доступ до єдиного поля в newtype.- Rust зазвичай не любить неявних речей, таких як автоматичне розгортання або, наприклад, використання логічних значень як цілих чисел.
- Перевантаження операторів обговорюється в день 3 (дженерики).
- Цей приклад є тонким посиланням на невдачу Mars Climate Orbiter.