Skip to content

Commit 1c39ee8

Browse files
committed
セクション分けに失敗しているものを修正
1 parent 93de093 commit 1c39ee8

File tree

8 files changed

+105
-85
lines changed

8 files changed

+105
-85
lines changed

public/docs/rust/10-generics-traits/5-0-std-traits.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,3 @@ p3: Point { x: 10, y: 20 }
4646
```
4747

4848
> **注意:** `String``Vec<T>` などのヒープ領域へのポインタを持つ型は、所有権のルール上、安易に `Copy` を実装できません(二重解放エラーになるため)。それらは `Clone` のみを実装します。
49-
50-
# この章のまとめ
51-
52-
* **ジェネリクス**: 型をパラメータ化し、コードの重複を減らします。コンパイル時に単相化されるため、実行時コストがかかりません。
53-
* **トレイト**: 共通の振る舞いを定義します。インターフェースに似ていますが、継承ではなくコンポジションを促進します。
54-
* **トレイト境界**: ジェネリクス型 `T` に対して、「特定のトレイトを実装している型のみ」を受け入れるよう制約を課します。
55-
* **標準トレイト**: `Debug`, `Display`, `Clone`, `Copy` など、Rustの基本動作を支える重要なトレイトが存在します。
56-
57-
これらを使いこなすことで、Rustコンパイラに安全性を保証させつつ、再利用性の高いライブラリのようなコードを書くことができるようになります。
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
id: rust-generics-traits-summary
3+
title: この章のまとめ
4+
level: 2
5+
---
6+
7+
## この章のまとめ
8+
9+
* **ジェネリクス**: 型をパラメータ化し、コードの重複を減らします。コンパイル時に単相化されるため、実行時コストがかかりません。
10+
* **トレイト**: 共通の振る舞いを定義します。インターフェースに似ていますが、継承ではなくコンポジションを促進します。
11+
* **トレイト境界**: ジェネリクス型 `T` に対して、「特定のトレイトを実装している型のみ」を受け入れるよう制約を課します。
12+
* **標準トレイト**: `Debug`, `Display`, `Clone`, `Copy` など、Rustの基本動作を支える重要なトレイトが存在します。
13+
14+
これらを使いこなすことで、Rustコンパイラに安全性を保証させつつ、再利用性の高いライブラリのようなコードを書くことができるようになります。
File renamed without changes.
File renamed without changes.

public/docs/rust/2-functions-control/2-2-loops.md

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -11,79 +11,3 @@ Rustには3種類のループがあります。
1111
1. `loop`: 無限ループ
1212
2. `while`: 条件付きループ
1313
3. `for`: コレクションや範囲に対するループ
14-
15-
#### loop と値の戻り
16-
17-
`loop` キーワードは、明示的に `break` するまで永遠に繰り返します。面白い機能として、`break` の後に値を置くことで、ループ全体の結果としてその値を返すことができます。
18-
19-
```rust:loop_return.rs
20-
fn main() {
21-
let mut counter = 0;
22-
23-
// ループの結果を変数resultに代入
24-
let result = loop {
25-
counter += 1;
26-
27-
if counter == 10 {
28-
// カウンタが10になったら、counter * 2 の値を返して終了
29-
break counter * 2;
30-
}
31-
};
32-
33-
println!("ループの結果: {}", result);
34-
}
35-
```
36-
37-
```rust-exec:loop_return.rs
38-
ループの結果: 20
39-
```
40-
41-
#### while
42-
43-
`while` は他の言語とほぼ同じです。条件が真である限り実行されます。
44-
45-
```rust
46-
// 例(実行不要)
47-
let mut number = 3;
48-
while number != 0 {
49-
println!("{}!", number);
50-
number -= 1;
51-
}
52-
```
53-
54-
#### for ループ
55-
56-
Rustで最も安全かつ頻繁に使用されるのが `for` ループです。配列の要素を走査したり、特定の回数だけ処理を行ったりする場合、インデックス管理が不要な `for` が推奨されます。
57-
58-
数値の範囲を指定する場合は `Range` 型(`start..end`)を使用します。
59-
60-
```rust:for_loop.rs
61-
fn main() {
62-
let a = [10, 20, 30, 40, 50];
63-
64-
// 配列のイテレータを使ったループ
65-
println!("--- 配列の走査 ---");
66-
for element in a.iter() {
67-
println!("値: {}", element);
68-
}
69-
70-
// Rangeを使ったループ (1から3まで。4は含まない)
71-
println!("--- 範囲指定 ---");
72-
for number in 1..4 {
73-
println!("カウント: {}", number);
74-
}
75-
}
76-
```
77-
78-
```rust-exec:for_loop.rs
79-
--- 配列の走査 ---
80-
: 10
81-
: 20
82-
: 30
83-
: 40
84-
: 50
85-
--- 範囲指定 ---
86-
カウント: 1
87-
カウント: 2
88-
カウント: 3
89-
```
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
id: rust-functions-control-loop-return
3+
title: loop と値の戻り
4+
level: 4
5+
---
6+
7+
#### loop と値の戻り
8+
9+
`loop` キーワードは、明示的に `break` するまで永遠に繰り返します。面白い機能として、`break` の後に値を置くことで、ループ全体の結果としてその値を返すことができます。
10+
11+
```rust:loop_return.rs
12+
fn main() {
13+
let mut counter = 0;
14+
15+
// ループの結果を変数resultに代入
16+
let result = loop {
17+
counter += 1;
18+
19+
if counter == 10 {
20+
// カウンタが10になったら、counter * 2 の値を返して終了
21+
break counter * 2;
22+
}
23+
};
24+
25+
println!("ループの結果: {}", result);
26+
}
27+
```
28+
29+
```rust-exec:loop_return.rs
30+
ループの結果: 20
31+
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
id: rust-functions-control-while
3+
title: while
4+
level: 4
5+
---
6+
7+
#### while
8+
9+
`while` は他の言語とほぼ同じです。条件が真である限り実行されます。
10+
11+
```rust
12+
// 例(実行不要)
13+
let mut number = 3;
14+
while number != 0 {
15+
println!("{}!", number);
16+
number -= 1;
17+
}
18+
```
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
id: rust-functions-control-for
3+
title: for ループ
4+
level: 4
5+
---
6+
7+
#### for ループ
8+
9+
Rustで最も安全かつ頻繁に使用されるのが `for` ループです。配列の要素を走査したり、特定の回数だけ処理を行ったりする場合、インデックス管理が不要な `for` が推奨されます。
10+
11+
数値の範囲を指定する場合は `Range` 型(`start..end`)を使用します。
12+
13+
```rust:for_loop.rs
14+
fn main() {
15+
let a = [10, 20, 30, 40, 50];
16+
17+
// 配列のイテレータを使ったループ
18+
println!("--- 配列の走査 ---");
19+
for element in a.iter() {
20+
println!("値: {}", element);
21+
}
22+
23+
// Rangeを使ったループ (1から3まで。4は含まない)
24+
println!("--- 範囲指定 ---");
25+
for number in 1..4 {
26+
println!("カウント: {}", number);
27+
}
28+
}
29+
```
30+
31+
```rust-exec:for_loop.rs
32+
--- 配列の走査 ---
33+
: 10
34+
: 20
35+
: 30
36+
: 40
37+
: 50
38+
--- 範囲指定 ---
39+
カウント: 1
40+
カウント: 2
41+
カウント: 3
42+
```

0 commit comments

Comments
 (0)