Polycarbohydrate 2ec9c0957e Async updates and reformatting for new exercise
- Renamed/ordered the directories for macros, clippy, and conversions, shifting them all one up in numerical order to fit async as number 21
- Added the 21_async directories in exercises and solutions
- Added async1.rs in the 21_async directory in exercises and solutions
- Added async to the info.toml in rustlings-macros and reordered the rest of the exercises in there as well
- Created an exercise for async1 and its solution
2025-03-07 19:49:35 -05:00

25 lines
592 B
Rust

// Type casting in Rust is done via the usage of the `as` operator.
// Note that the `as` operator is not only used when type casting. It also helps
// with renaming imports.
fn average(values: &[f64]) -> f64 {
let total = values.iter().sum::<f64>();
// TODO: Make a conversion before dividing.
total / values.len()
}
fn main() {
let values = [3.5, 0.3, 13.0, 11.7];
println!("{}", average(&values));
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn returns_proper_type_and_value() {
assert_eq!(average(&[3.5, 0.3, 13.0, 11.7]), 7.125);
}
}