use std::ffi::CString;
use std::io::stdin;
pub fn get_input() -> String {
let mut data = String::new();
stdin().read_line(&mut data).expect("Unable to read line!");
data.trim_end().to_string()
}
pub fn get_input_with_text(text: &str) -> String {
println!("{}", text);
get_input()
}
pub fn get_i32_input() -> i32 {
loop {
let data = get_input();
match data.trim().parse() {
Ok(num) => return num,
Err(_) => {
println!("Invalid Number!");
continue;
}
};
}
}
pub fn pause() {
println!("Press Enter Key...");
let _ = get_input();
}
pub fn cls() {
unsafe {
libc::system(CString::new("cls").unwrap_or_default().as_ptr());
}
}
#[macro_export]
macro_rules! string {
() => {
String::new()
};
($x:expr) => {
String::from($x)
};
}
#[macro_export]
macro_rules! boxed {
($x:expr) => {
Box::new($x)
}
}