You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
eslopfer 26b1e904d2 docs(piscine-rust): Remove extra directive 2 years ago
..
README.md docs(piscine-rust): Remove extra directive 2 years ago

README.md

Highest

Instructions

In this exercise, a Numbers struct will be given.

These methods have to be written for it:

  • new: create a new instance of Numbers.
  • List: which returns an array with every number in the struct.
  • Latest: which returns an Option<u32> with the last added number.
  • Highest: which returns an Option<u32> with the highest number from the list.
  • Highest_Three: which returns a Vec<u32> with the three highest numbers.

Expected functions

#[derive(Debug)]
pub struct Numbers<'a> {
    numbers: &'a [u32],
}

impl Numbers {
    pub fn new(&[u32]) -> Self {}

    pub fn list(&self) -> &[u32] {}

    pub fn latest(&self) -> Option<u32> {}

    pub fn highest(&self) -> Option<u32> {}

    pub fn highest_three(&self) -> Vec<u32> {}
}

Usage

Here is a program to test your function.

use highest::*;

fn main() {
    let expected = [30, 500, 20, 70];
    let n = Numbers::new(&expected);
    println!("{:?}", n.list());
    println!("{:?}", n.highest());
    println!("{:?}", n.latest());
    println!("{:?}", n.highest_three());
}

And its output:

$ cargo run
[30, 500, 20, 70]
Some(500)
Some(70)
[500, 70, 30]
$

Notions