primitive_types4 solution

This commit is contained in:
mo8it 2024-06-08 23:42:15 +02:00
parent 0338b1cbdf
commit 98db579014
4 changed files with 28 additions and 9 deletions

View file

@ -1,5 +1,5 @@
fn main() { fn main() {
// TODO: Create an array with at least 100 elements in it where the ??? is. // TODO: Create an array called `a` with at least 100 elements in it.
// let a = ??? // let a = ???
if a.len() >= 100 { if a.len() >= 100 {

View file

@ -1,18 +1,15 @@
// Get a slice out of Array a where the ??? is so that the test passes.
fn main() { fn main() {
// You can optionally experiment here. // You can optionally experiment here.
} }
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*;
#[test] #[test]
fn slice_out_of_array() { fn slice_out_of_array() {
let a = [1, 2, 3, 4, 5]; let a = [1, 2, 3, 4, 5];
let nice_slice = ??? // TODO: Get a slice called `nice_slice` out of the array `a` so that the test passes.
// let nice_slice = ???
assert_eq!([2, 3, 4], nice_slice); assert_eq!([2, 3, 4], nice_slice);
} }

View file

@ -267,8 +267,8 @@ dir = "04_primitive_types"
hint = """ hint = """
Take a look at the 'Understanding Ownership -> Slices -> Other Slices' section Take a look at the 'Understanding Ownership -> Slices -> Other Slices' section
of the book: https://doc.rust-lang.org/book/ch04-03-slices.html and use the of the book: https://doc.rust-lang.org/book/ch04-03-slices.html and use the
starting and ending (plus one) indices of the items in the `Array` that you starting and ending (plus one) indices of the items in the array that you want
want to end up in the slice. to end up in the slice.
If you're curious why the first argument of `assert_eq!` does not have an If you're curious why the first argument of `assert_eq!` does not have an
ampersand for a reference since the second argument is a reference, take a look ampersand for a reference since the second argument is a reference, take a look

View file

@ -1 +1,23 @@
// Solutions will be available before the stable release. Thank you for testing the beta version 🥰 fn main() {
// You can optionally experiment here.
}
#[cfg(test)]
mod tests {
#[test]
fn slice_out_of_array() {
let a = [1, 2, 3, 4, 5];
// 0 1 2 3 4 <- indices
// -------
// |
// +--- slice
// Note that the upper index 4 is excluded.
let nice_slice = &a[1..4];
assert_eq!([2, 3, 4], nice_slice);
// The upper index can be included by using the syntax `..=` (with `=` sign)
let nice_slice = &a[1..=3];
assert_eq!([2, 3, 4], nice_slice);
}
}