Wektory 2D
Projekt
- Utwórz nowy projekt o nazwie
rust-vec2d
. - Utwórz moduł o nazwie vec2d w osobnym pliku.
Struktura wektora i podstawowe metody:
- Zimplementuj strukturę
Vec2D
reprezentującą dwuwymiarowy wektor . - Zdefiniuj metodę pozwalającą na czytelne wypisanie wektora na konsolę.
- Dodaj do wektora metodę fabryczną dla wektora jednostkowego.
- Napisz metodą sprawdzającą czy dwa wektory są równe.
Operacje na wektorach (operatory matematyczne):
- Napisz podstawowe operatory dla działań na wektorach: dodawanie, odejmowanie, mnożenie wektora przez liczbę oraz iloczyn skalarny. Dla podstawowych operatorów wykorzystaj predefiniowane cechy (
std::ops::Add
,std::ops::Sub
). Możesz wykorzystać następujący fragment kodu:use std::ops::{Add, Sub}; impl Add for Vec2D { type Output = Self; // Output describes the resulting type after applying the + operator. // Self describes the current type, here it means Vec2D fn add(self, other: Vec2D) -> Self { todo!(); } } impl Sub for Vec2D { type Output = Self; fn sub(self, other: Vec2D) -> Self { todo!(); } }
- Napisz kod prezentujacy działania na wektorach.
- Napisz testy jednostkowe sprawdzające poprawność działania operacji na wektorach.
Więcej na temat cech operatorów znajdziesz w:
- oficjalnej dokumentacji Rusta: https://doc.rust-lang.org/core/ops/
- przykładach: https://doc.rust-lang.org/rust-by-example/trait/ops.html
Last updated on