trpl-zh-cn/listings/ch14-more-about-cargo/listing-14-05/src/lib.rs
2022-02-06 16:43:51 +08:00

42 lines
862 B
Rust
Executable File

// ANCHOR: here
//! # Art
//!
//! A library for modeling artistic concepts.
pub use self::kinds::PrimaryColor;
pub use self::kinds::SecondaryColor;
pub use self::utils::mix;
pub mod kinds {
// --snip--
// ANCHOR_END: here
/// The primary colors according to the RYB color model.
pub enum PrimaryColor {
Red,
Yellow,
Blue,
}
/// The secondary colors according to the RYB color model.
pub enum SecondaryColor {
Orange,
Green,
Purple,
}
// ANCHOR: here
}
pub mod utils {
// --snip--
// ANCHOR_END: here
use crate::kinds::*;
/// Combines two primary colors in equal amounts to create
/// a secondary color.
pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
SecondaryColor::Orange
}
// ANCHOR: here
}
// ANCHOR_END: here