diff --git a/src/control-flow-basics/blocks-and-scopes.md b/src/control-flow-basics/blocks-and-scopes.md index b94a5636..03587b3b 100644 --- a/src/control-flow-basics/blocks-and-scopes.md +++ b/src/control-flow-basics/blocks-and-scopes.md @@ -13,11 +13,11 @@ fn main() { let z = 13; let x = { let y = 10; - println!("y: {y}"); + dbg!(y); z - y }; - println!("x: {x}"); - // println!("y: {y}"); + dbg!(x); + // dbg!(y); } ``` @@ -27,6 +27,9 @@ A variable's scope is limited to the enclosing block.
+- You can explain that dbg! is a Rust macro that prints and returns the value of + a given expression for quick and dirty debugging. + - You can show how the value of the block changes by changing the last line in the block. For instance, adding/removing a semicolon or using a `return`. diff --git a/src/control-flow-basics/break-continue.md b/src/control-flow-basics/break-continue.md index b9028495..e5d79b7a 100644 --- a/src/control-flow-basics/break-continue.md +++ b/src/control-flow-basics/break-continue.md @@ -23,7 +23,7 @@ fn main() { if i % 2 == 0 { continue; } - println!("{}", i); + dbg!(i); } } ``` diff --git a/src/control-flow-basics/break-continue/labels.md b/src/control-flow-basics/break-continue/labels.md index 55e26ae6..95d4e6c1 100644 --- a/src/control-flow-basics/break-continue/labels.md +++ b/src/control-flow-basics/break-continue/labels.md @@ -16,7 +16,7 @@ fn main() { } } } - print!("elements searched: {elements_searched}"); + dbg!(elements_searched); } ``` diff --git a/src/control-flow-basics/functions.md b/src/control-flow-basics/functions.md index f1a2839f..3cd53280 100644 --- a/src/control-flow-basics/functions.md +++ b/src/control-flow-basics/functions.md @@ -16,7 +16,7 @@ fn gcd(a: u32, b: u32) -> u32 { } fn main() { - println!("gcd: {}", gcd(143, 52)); + dbg!(gcd(143, 52)); } ``` diff --git a/src/control-flow-basics/loops.md b/src/control-flow-basics/loops.md index db4b1e71..6fe9afd5 100644 --- a/src/control-flow-basics/loops.md +++ b/src/control-flow-basics/loops.md @@ -19,6 +19,6 @@ fn main() { while x >= 10 { x = x / 2; } - println!("Final x: {x}"); + dbg!(x); } ``` diff --git a/src/control-flow-basics/loops/for.md b/src/control-flow-basics/loops/for.md index 98919003..a487a03a 100644 --- a/src/control-flow-basics/loops/for.md +++ b/src/control-flow-basics/loops/for.md @@ -6,11 +6,11 @@ ranges of values or the items in a collection: ```rust,editable fn main() { for x in 1..5 { - println!("x: {x}"); + dbg!(x); } for elem in [2, 4, 8, 16, 32] { - println!("elem: {elem}"); + dbg!(elem); } } ``` diff --git a/src/control-flow-basics/loops/loop.md b/src/control-flow-basics/loops/loop.md index 99e4d63e..b3b96950 100644 --- a/src/control-flow-basics/loops/loop.md +++ b/src/control-flow-basics/loops/loop.md @@ -8,7 +8,7 @@ fn main() { let mut i = 0; loop { i += 1; - println!("{i}"); + dbg!(i); if i > 100 { break; }