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