46 lines
1.1 KiB
Rust
46 lines
1.1 KiB
Rust
use hello::*;
|
|
|
|
fn main() {
|
|
let sphere1 = Sphere::new(Point3::new(0.0, 0.0, 0.0), 25.0);
|
|
let sphere2 = Sphere::new(Point3::new(1.0, -45.4, 3.55), 2.0);
|
|
let sphere3 = Sphere::new(Point3::new(3.0, 2.0, 1.0), 0.5);
|
|
|
|
let plane1 = Plane::new(Point3::new(1.0, 2.0, 3.0), Vector3::new(0.0, 1.0, 0.0));
|
|
|
|
let mut v = Vec::new();
|
|
|
|
v.push(Geometry::Sphere(sphere1));
|
|
v.push(Geometry::Plane(plane1));
|
|
v.push(Geometry::Sphere(sphere2));
|
|
v.push(Geometry::Sphere(sphere3));
|
|
|
|
for geo in v {
|
|
match geo {
|
|
Geometry::Sphere(s) => println!("A Sphere"),
|
|
Geometry::Plane(p) => println!("A Plane"),
|
|
Geometry::Line(l) => println!("A Line"),
|
|
}
|
|
}
|
|
|
|
let mut lottery = [4, 8, 15, 16, 23, 42];
|
|
|
|
let mut sum = 0;
|
|
|
|
for value in lottery {
|
|
sum += value;
|
|
}
|
|
|
|
println!("The sum is {}", sum);
|
|
|
|
let mut lottery_string = Vec::new();
|
|
for value in lottery {
|
|
lottery_string.push(value.to_string());
|
|
}
|
|
|
|
let lottery_string_2: Vec<String> = lottery
|
|
.iter()
|
|
.filter(|x| **x > 8)
|
|
.map(|x| x.to_string())
|
|
.collect();
|
|
}
|