implement bin crate with demo
This commit is contained in:
@@ -45,9 +45,9 @@
|
|||||||
|
|
||||||
Для примера использования:
|
Для примера использования:
|
||||||
|
|
||||||
- [ ] Реализована в виде bin крейта.
|
- [x] Реализована в виде bin крейта.
|
||||||
- [ ] Создайте экземпляр умного дома и выведете отчёт о его содержимом.
|
- [x] Создайте экземпляр умного дома и выведете отчёт о его содержимом.
|
||||||
- [ ] Для уже созданного экземпляра дома выключите умную розетку в одной из комнат. Снова выведите отчёт.
|
- [x] Для уже созданного экземпляра дома выключите умную розетку в одной из комнат. Снова выведите отчёт.
|
||||||
|
|
||||||
**Критерии оценки**:
|
**Критерии оценки**:
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,38 @@
|
|||||||
fn main() {}
|
use smart_house::{Device, House, PowerSocket, Room, Thermometer};
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut house = House::new(
|
||||||
|
"A house of dream",
|
||||||
|
Box::new([
|
||||||
|
Room::new(
|
||||||
|
"Hall",
|
||||||
|
Box::new([Device::PowerSocket(PowerSocket::new(9.5, true)), Device::Thermometer(Thermometer::new(20.1))]),
|
||||||
|
),
|
||||||
|
Room::new(
|
||||||
|
"Main",
|
||||||
|
Box::new([
|
||||||
|
Device::PowerSocket(PowerSocket::new(11.2, true)),
|
||||||
|
Device::Thermometer(Thermometer::new(24.5)),
|
||||||
|
Device::PowerSocket(PowerSocket::new(10.4, true)),
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
Room::new(
|
||||||
|
"Bedroom",
|
||||||
|
Box::new([Device::Thermometer(Thermometer::new(19.3)), Device::PowerSocket(PowerSocket::new(12.1, true))]),
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
);
|
||||||
|
|
||||||
|
house.print_status();
|
||||||
|
|
||||||
|
print!("# Switching off a power socket in Hall... ");
|
||||||
|
let Device::PowerSocket(power_socket) = house.get_room_mut(0).get_device_mut(0) else {
|
||||||
|
println!("FAILED!");
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
power_socket.set_on(false);
|
||||||
|
println!("SUCCESS");
|
||||||
|
println!();
|
||||||
|
|
||||||
|
house.print_status();
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
#![allow(unused)]
|
|
||||||
|
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
|
|
||||||
pub struct PowerSocket {
|
pub struct PowerSocket {
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
#![allow(unused)]
|
|
||||||
|
|
||||||
use crate::Device;
|
use crate::Device;
|
||||||
|
|
||||||
pub struct Room {
|
pub struct Room {
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
#![allow(unused)]
|
|
||||||
|
|
||||||
use std::fmt::Display;
|
use std::fmt::Display;
|
||||||
|
|
||||||
pub struct Thermometer {
|
pub struct Thermometer {
|
||||||
|
|||||||
Reference in New Issue
Block a user