1
0
Fork 0
mirror of https://github.com/notohh/rustlings.git synced 2024-12-20 23:48:09 -05:00
rustlings/exercises/23_conversions/using_as.rs

25 lines
592 B
Rust
Raw Normal View History

2024-07-01 15:41:22 -04:00
// 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>();
2024-07-01 15:41:22 -04:00
// 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);
}
}