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;
|
||||
|
||||
pub struct PowerSocket {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![allow(unused)]
|
||||
|
||||
use crate::Device;
|
||||
|
||||
pub struct Room {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![allow(unused)]
|
||||
|
||||
use std::fmt::Display;
|
||||
|
||||
pub struct Thermometer {
|
||||
|
||||
Reference in New Issue
Block a user