Решение на упр.02 задача 4 от Илиян Копривчин
Към профила на Илиян Копривчин
Резултати
- 1 точка от тестове
- 0 бонус точки
- 1 точка общо
- 1 успешни тест(а)
- 0 неуспешни тест(а)
Код
// a) Имплементирай sum_slice.
fn sum_slice(arr: &[i32]) -> i32 {
let mut result: i32 = 0;
for i in 0..arr.len() {
result += arr[i];
}
return result;
}
// b) Обясни защо &v може да се използва като &[i32].
//// Тъй като "vec" е динамичен списък, той отдолу работи с масив и в езика е дадена възможността
//// да се кастне имплицитно към масив, затова и може да го подадем като аргумент на функцията
// c) Какво ще стане, ако извикаш sum_slice(&a[2])?
//// С аргумента "&a[2]" се опитваме да подадем референция към променлива от тип i32, т.е &i32,
//// а като параметър на функцията се очаква референиця към масив от тип i32, т.е &[i32]
Лог от изпълнението
Updating crates.io index
Locking 17 packages to latest compatible versions
Compiling proc-macro2 v1.0.102
Compiling unicode-ident v1.0.20
Compiling quote v1.0.41
Compiling futures-sink v0.3.31
Compiling futures-core v0.3.31
Compiling futures-channel v0.3.31
Compiling memchr v2.7.6
Compiling syn v2.0.108
Compiling pin-project-lite v0.2.16
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.31
Compiling slab v0.4.11
Compiling futures-task v0.3.31
Compiling solution v0.1.0 (/tmp/d20251023-1757769-9gq42u/solution)
warning: function `sum_slice` is never used
--> src/lib.rs:2:4
|
2 | fn sum_slice(arr: &[i32]) -> i32 {
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `solution` (lib) generated 1 warning
Compiling futures-macro v0.3.31
Compiling futures-util v0.3.31
Compiling futures-executor v0.3.31
Compiling futures v0.3.31
Finished `test` profile [unoptimized + debuginfo] target(s) in 8.45s
Running tests/solution_test.rs (target/debug/deps/solution_test-fc1324dc0157cdc7)
running 1 test
test solution_test::test_basic ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
