1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

//! # 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 {

	 /// The primary colors according to the RYB color model
	pub enum PrimaryColor {
		Orange,
		Black,
		Red,
	}

	/// The secondary colors according to the RYB color model.
	pub enum SecondaryColor {
		Purple,
		Green,
		Yellow,
	}

}

pub mod utils {
	use crate::Kinds::*;

	/// Combines two primary colors in equal amounts to create
    /// a secondary color.
	pub fn mix(c1 : PrimaryColor , c2 : PrimaryColor) -> SecondaryColor {
		SecondaryColor::Purple
	}

	/* Agregar declaraciones pub use para reexportar artículos : Los tipos PrimaryColor , SecondaryColor y la función mix ahora
	   son más fáciles de encontrar*/
}