mirror of
https://github.com/sunface/rust-by-practice.git
synced 2025-06-23 04:29:41 +00:00
@ -4,7 +4,7 @@ All types which want to be printable must implement the `std::fmt` formatting tr
|
||||
Automatic implementations are only provided for types such as in the `std` library. All others have to be manually implemented.
|
||||
|
||||
## Debug
|
||||
The implementation of `Debug` is very straightfoward: All types can `derive` the `std::fmt::Debug` implementation. This is not true for `std::fmt::Display` which must be manually implemented.
|
||||
The implementation of `Debug` is very straightforward: All types can `derive` the `std::fmt::Debug` implementation. This is not true for `std::fmt::Display` which must be manually implemented.
|
||||
|
||||
`{:?}` must be used to print out the type which has implemented the `Debug` trait.
|
||||
|
||||
@ -77,7 +77,7 @@ Yeah, `Debug` is simple and easy to use. But sometimes we want to customize the
|
||||
|
||||
Unlike `Debug`, there is no way to derive the implementation of the `Display` trait, we have to manually implement it.
|
||||
|
||||
Another thing to note: the placefolder for `Display` is `{}` not `{:?}`.
|
||||
Another thing to note: the placeholder for `Display` is `{}` not `{:?}`.
|
||||
|
||||
4. 🌟🌟
|
||||
```rust,editable
|
||||
|
@ -348,8 +348,8 @@ Returning a closure is much harder than you may have thought of.
|
||||
10. 🌟🌟
|
||||
|
||||
```rust,editable
|
||||
/* Fill in the blank using two aproaches,
|
||||
and fix the errror */
|
||||
/* Fill in the blank using two approaches,
|
||||
and fix the error */
|
||||
fn create_fn() -> __ {
|
||||
let num = 5;
|
||||
|
||||
|
Reference in New Issue
Block a user