mirror of
https://github.com/notohh/rustlings.git
synced 2025-08-12 22:03:36 -04:00
Merge branch 'main' into comment_cleanup
This commit is contained in:
commit
b44472b237
8 changed files with 161 additions and 90 deletions
exercises
|
@ -20,6 +20,7 @@ struct State {
|
|||
color: (u8, u8, u8),
|
||||
position: Point,
|
||||
quit: bool,
|
||||
message: String
|
||||
}
|
||||
|
||||
impl State {
|
||||
|
@ -31,9 +32,7 @@ impl State {
|
|||
self.quit = true;
|
||||
}
|
||||
|
||||
fn echo(&self, s: String) {
|
||||
println!("{}", s);
|
||||
}
|
||||
fn echo(&mut self, s: String) { self.message = s }
|
||||
|
||||
fn move_position(&mut self, p: Point) {
|
||||
self.position = p;
|
||||
|
@ -57,6 +56,7 @@ mod tests {
|
|||
quit: false,
|
||||
position: Point { x: 0, y: 0 },
|
||||
color: (0, 0, 0),
|
||||
message: "hello world".to_string(),
|
||||
};
|
||||
state.process(Message::ChangeColor(255, 0, 255));
|
||||
state.process(Message::Echo(String::from("hello world")));
|
||||
|
@ -67,5 +67,6 @@ mod tests {
|
|||
assert_eq!(state.position.x, 10);
|
||||
assert_eq!(state.position.y, 15);
|
||||
assert_eq!(state.quit, true);
|
||||
assert_eq!(state.message, "hello world");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,4 +81,13 @@ mod tests {
|
|||
let count = basket.values().sum::<u32>();
|
||||
assert!(count > 11);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn all_fruit_types_in_basket() {
|
||||
let mut basket = get_fruit_basket();
|
||||
fruit_basket(&mut basket);
|
||||
for amount in basket.values() {
|
||||
assert_ne!(amount, &0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,9 +18,8 @@
|
|||
|
||||
use std::collections::HashMap;
|
||||
|
||||
// A structure to store team name and its goal details.
|
||||
// A structure to store the goal details of a team.
|
||||
struct Team {
|
||||
name: String,
|
||||
goals_scored: u8,
|
||||
goals_conceded: u8,
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
// move_semantics2.rs
|
||||
//
|
||||
// Expected output:
|
||||
// vec0 has length 3 content `[22, 44, 66]`
|
||||
// vec1 has length 4 content `[22, 44, 66, 88]`
|
||||
// vec0 has length 3, with contents `[22, 44, 66]`
|
||||
// vec1 has length 4, with contents `[22, 44, 66, 88]`
|
||||
//
|
||||
// Execute `rustlings hint move_semantics2` or use the `hint` watch subcommand
|
||||
// for a hint.
|
||||
|
@ -12,15 +12,13 @@
|
|||
fn main() {
|
||||
let vec0 = Vec::new();
|
||||
|
||||
// Do not move the following line!
|
||||
let mut vec1 = fill_vec(vec0);
|
||||
|
||||
// Do not change the following line!
|
||||
println!("{} has length {} content `{:?}`", "vec0", vec0.len(), vec0);
|
||||
println!("{} has length {}, with contents: `{:?}`", "vec0", vec0.len(), vec0);
|
||||
|
||||
vec1.push(88);
|
||||
|
||||
println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1);
|
||||
println!("{} has length {}, with contents `{:?}`", "vec1", vec1.len(), vec1);
|
||||
}
|
||||
|
||||
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue