extern crate rand;
use std::io;
use std::cmp::Ordering;
use std::ops::{Add, Sub, Mul};
use rand::Rng;
fn sub<T: Sub<Output = T>>(A: T, B: T) -> T {
A - B
}
fn add<T: Add<Output = T>>(A: T, B: T) -> T {
A + B
}
fn main() {
let number = rand::thread_rng().gen_range(1, 101);
println!("Guess the number!");
println!("Please input your guess.");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect(
"Failed to read line",
);
println!("You guessed {}", guess);
let guessed_num: i32 = guess.trim().parse().expect("Wanted a number");
match guessed_num.cmp(&number) {
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too Big"),
Ordering::Equal => println!("Got it!"),
}
println!("Answer was: {}", number);
println!("Answer plus guess is {}", add(guessed_num, number));
println!("Answer minu guess is {}", sub(number, guessed_num));
}
This is a simple introductory program why is it so ugly?