pub struct NumberPair { /* private fields */ }Expand description
A convenience struct to represent a pair of numbers.
This struct is primarily here to be used as a stand-in for the prize values for the Dilemma game.
The default constructor will create a NumberPair with random values
between 0 and 9 (inclusive) for first and between 1 and 10 (inclusive)
for second.
§Example
§Using NumberPair with the new constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::new(1, 2);
assert_eq!(number_pair.first(), 1);
assert_eq!(number_pair.second(), 2);§Using NumberPair with the default constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::default();
assert!(number_pair.first() >= 1);
assert!(number_pair.first() < 10);
assert!(number_pair.second() >= 1);
assert!(number_pair.second() < 10);Implementations§
Source§impl NumberPair
impl NumberPair
Sourcepub const fn new(first: u32, second: u32) -> Self
pub const fn new(first: u32, second: u32) -> Self
Creates a new NumberPair struct.
§Arguments
first- The first number in the pair.second- The second number in the pair.
§Example
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::new(1, 2);
assert_eq!(number_pair.first(), 1);
assert_eq!(number_pair.second(), 2);§Returns
A new NumberPair struct with the given values.
Sourcepub fn random(min_value: u32, max_value: u32) -> Self
pub fn random(min_value: u32, max_value: u32) -> Self
Creates a new NumberPair struct with random values.
§Arguments
min_value- The minimum value for that can be assigned to a choice.max_value- The maximum value for that can be assigned to a choice.
§Example
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::random(1, 10);
assert!(number_pair.first() >= 1);
assert!(number_pair.first() <= 10);
assert!(number_pair.second() >= 1);
assert!(number_pair.second() <= 10);§Panics
Panics if min_value is greater than max_value.
§Returns
A new NumberPair struct with random values between min_value and
max_value for each of first and second.
Sourcepub const fn first(&self) -> u32
pub const fn first(&self) -> u32
Returns the value of first.
§Example
§Using NumberPair with the new constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::new(1, 2);
assert_eq!(number_pair.first(), 1);§Using NumberPair with the default constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::default();
assert!(number_pair.first() >= 1);
assert!(number_pair.first() < 10);§Returns
The value of first as a u32.
Sourcepub const fn second(&self) -> u32
pub const fn second(&self) -> u32
Returns the value of second.
§Example
§Using NumberPair with the new constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::new(1, 2);
assert_eq!(number_pair.second(), 2);§Using NumberPair with the default constructor
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::default();
assert!(number_pair.second() >= 1);
assert!(number_pair.second() < 10);§Returns
The value of second as a u32.
Trait Implementations§
Source§impl Clone for NumberPair
impl Clone for NumberPair
Source§fn clone(&self) -> NumberPair
fn clone(&self) -> NumberPair
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NumberPair
impl Debug for NumberPair
Source§impl Default for NumberPair
impl Default for NumberPair
Source§fn default() -> Self
fn default() -> Self
Creates a new NumberPair struct with default values.
§Example
use dilemma_tactix_lib::NumberPair;
let number_pair = NumberPair::default();
assert!(number_pair.first() >= 1);
assert!(number_pair.first() < 10);
assert!(number_pair.second() >= 1);
assert!(number_pair.second() < 10);§Returns
A new NumberPair struct with random values between 1 and 10 for each
of first and second.
Source§impl Display for NumberPair
Implements the Display trait for NumberPair.
impl Display for NumberPair
Implements the Display trait for NumberPair.
This allows a NumberPair to be formatted as a string using the {} format
specifier. The resulting string will be in the format “(first, second)”.
§Arguments
f- A mutable reference to aFormatter. This is a context in which the formatting will be done.
§Returns
This function returns a fmt::Result. If the write operation was
successful, the function returns Ok(()). If the write operation failed,
the function returns Err with the underlying error.