mirror of https://github.com/01-edu/public.git
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.
davidrobert99
639680a498
|
3 years ago | |
---|---|---|
.. | ||
README.md | 3 years ago |
README.md
Highest
Instructions
In this exercise a Numbers
struct will be given.
These methods have to be written:
new
create a new instance of Number.List
that returns anarray
with every number in the struct.Latest
that returns anOption<u32>
with the last added number.Highest
that return anOption<u32>
with the highest number from the list.Highest_Three
that returns aVec<u32>
with the three highest numbers.
Notions
Expected functions
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::*;
#[derive(Debug)]
struct Numbers<'a> {
numbers: &'a [u32],
}
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]
$