mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-26 00:00:03 +03:00
primitive_types4 solution
This commit is contained in:
parent
0338b1cbdf
commit
98db579014
|
@ -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 {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue