use std::io::{Write, stdin, stdout};
fnmain() {
letmut s = String::new();
print!("What is your name? ");
iflet Err(e) = stdout().flush().and(stdin().read_line(&mut s)) {
panic!("{}", e);
}
match s.trim() {
n if n.is_empty() => println!("No name entered."),
n => println!("Hello, {}!", n),
}
}
3. 生成随机数
extern"C" {
fnrand() -> i32;
fnsrand(seed: u32);
fntime(arg: *mut isize) -> isize;
}
fnmain() {
letmut v = vec![0; 20];
unsafe {
srand(time(0 as _) as _);
}
for x in &mut v {
*x = unsafe { rand() } % 90 + 10;
}
v.sort();
println!("{:?}", v);
v.retain(|&x| x >= 50);
println!("{:?}", v);
}
4. 输出美国部分城市及其所在州
macro_rules! hash_map {
($($k:expr => $v:expr),*) => ({
letmut m = ::std::collections::hash_map::HashMap::new();
$(m.insert($k, $v);)*
m
})
}
fnmain() {
letmut map = hash_map!["Seattle" => "California",
"Chicago" => "Illinois",
"New York" => "New York",
"Miami" => "Florida"];
iflet Some(state) = map.get_mut("Seattle") {
*state = "Washington";
}
map.remove("New York");
for (city, state) in &map {
println!("{} => {}", city, state);
}
println!("Length = {}", map.len());
}