diff --git a/en/book b/en/book new file mode 160000 index 0000000..036e93c --- /dev/null +++ b/en/book @@ -0,0 +1 @@ +Subproject commit 036e93c39b5b15957364207bfdfaf93e0b06ffc8 diff --git a/en/src/basic-types/numbers.md b/en/src/basic-types/numbers.md index 1c89dcd..60c5aa0 100644 --- a/en/src/basic-types/numbers.md +++ b/en/src/basic-types/numbers.md @@ -2,11 +2,13 @@ ### Integer -🌟 remove something to make it work +🌟 > Tips: If we don't explicitly give one type to a varible, then the compiler will infer one for us + ```rust,editable +// remove something to make it work fn main() { let x: i32 = 5; let mut y: u32 = 5; @@ -17,20 +19,22 @@ fn main() { } ``` -🌟 fill the blank +🌟 ```rust,editable +// fill the blank fn main() { let v: u16 = 38_u8 as __; } ``` -🌟🌟🌟 modify `assert_eq!` to make it work +🌟🌟🌟 > Tips: If we don't explicitly give one type to a varible, then the compiler will infer one for us ```rust,editable +// modify `assert_eq!` to make it work fn main() { let x = 5; assert_eq!("u32".to_string(), type_of(&x)); @@ -42,18 +46,20 @@ fn type_of(_: &T) -> String { } ``` -🌟🌟 fill the blanks to make it work +🌟🌟 ```rust,editable +// fill the blanks to make it work fn main() { assert_eq!(i8::MAX, __); assert_eq!(u8::MAX, __); } ``` -🌟🌟 fix errors and panics to make it work +🌟🌟 ```rust,editable +// fix errors and panics to make it work fn main() { let v1 = 251_u8 + 8; let v2 = i8::checked_add(251, 8).unwrap(); @@ -61,9 +67,10 @@ fn main() { } ``` -🌟🌟🌟 modify `assert!` to make it work +🌟🌟🌟 ```rust,editable +// modify `assert!` to make it work fn main() { let v = 1_024 + 0xff + 0o77 + 0b1111_1111; assert!(v == 1579); @@ -72,10 +79,11 @@ fn main() { ### Floating-Point -🌟 replace ? with your answer +🌟 ```rust,editable +// replace ? with your answer fn main() { let x = 1_000.000_1; // ? let y: f32 = 0.12; // f32 @@ -112,9 +120,10 @@ fn main() { } ``` -🌟🌟 fill the blanks +🌟🌟 ```rust,editable +// fill the blanks use std::ops::{Range, RangeInclusive}; fn main() { assert_eq!((1..__), Range{ start: 1, end: 5 }); @@ -124,10 +133,10 @@ fn main() { ### Computations -🌟 fill the blanks - +🌟 ```rust,editable +// fill the blanks fn main() { // Integer addition assert!(1u32 + 2 == __); diff --git a/zh-CN/src/basic-types/numbers.md b/zh-CN/src/basic-types/numbers.md index b1db2be..87e58d3 100644 --- a/zh-CN/src/basic-types/numbers.md +++ b/zh-CN/src/basic-types/numbers.md @@ -2,12 +2,13 @@ ### 整数 -🌟 移除某个部分让代码工作 +🌟 > Tips: 如果我们没有显式的给予变量一个类型,那编译器会自动帮我们推导一个类型 ```rust,editable +// 移除某个部分让代码工作 fn main() { let x: i32 = 5; let mut y: u32 = 5; @@ -18,20 +19,22 @@ fn main() { } ``` -🌟 填空 +🌟 ```rust,editable +// 填空 fn main() { let v: u16 = 38_u8 as __; } ``` -🌟🌟🌟 修改 `assert_eq!` 让代码工作 +🌟🌟🌟 > Tips: 如果我们没有显式的给予变量一个类型,那编译器会自动帮我们推导一个类型 ```rust,editable +// 修改 `assert_eq!` 让代码工作 fn main() { let x = 5; assert_eq!("u32".to_string(), type_of(&x)); @@ -43,18 +46,20 @@ fn type_of(_: &T) -> String { } ``` -🌟🌟 填空,让代码工作 +🌟🌟 ```rust,editable +// 填空,让代码工作 fn main() { assert_eq!(i8::MAX, __); assert_eq!(u8::MAX, __); } ``` -🌟🌟 解决代码中的错误和 `panic` +🌟🌟 ```rust,editable +// 解决代码中的错误和 `panic` fn main() { let v1 = 251_u8 + 8; let v2 = i8::checked_add(251, 8).unwrap(); @@ -62,9 +67,10 @@ fn main() { } ``` -🌟🌟🌟 修改 `assert!` 让代码工作 +🌟🌟🌟 ```rust,editable +// 修改 `assert!` 让代码工作 fn main() { let v = 1_024 + 0xff + 0o77 + 0b1111_1111; assert!(v == 1579); @@ -73,10 +79,11 @@ fn main() { ### 浮点数 -🌟 将 ? 替换成你的答案 +🌟 ```rust,editable +// 将 ? 替换成你的答案 fn main() { let x = 1_000.000_1; // ? let y: f32 = 0.12; // f32 @@ -85,7 +92,7 @@ fn main() { ``` 🌟🌟🌟 使用两种方法来让下面代码工作 -> Tips: 1. abs 2. f32 +> 提示: 1. abs 2. f32 ```rust,editable @@ -113,9 +120,10 @@ fn main() { } ``` -🌟🌟 填空 +🌟🌟 ```rust,editable +// 填空 use std::ops::{Range, RangeInclusive}; fn main() { assert_eq!((1..__), Range{ start: 1, end: 5 }); @@ -125,10 +133,10 @@ fn main() { ### 计算 -🌟 填空 - +🌟 ```rust,editable +// 填空 fn main() { // 整数加法 assert!(1u32 + 2 == __);