Skip to content

Commit a68e869

Browse files
[ci] generate question examples
1 parent fd0282a commit a68e869

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+171
-1
lines changed

public/docs/rust/11-lifetimes/1-0-what-is-lifetime.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: rust-lifetimes-what-is-lifetime
33
title: ライフタイムとは何か
44
level: 2
5+
question:
6+
- ライフタイムとは具体的に何のことですか?
7+
- これまで無意識に使っていたライフタイムの具体的な例はありますか?
8+
- コンパイラが「参照の有効期間が不明瞭だ」と判断する具体的なケースはどんなときですか?
9+
- ライフタイム注釈はなぜアノテーションと呼ばれるのですか?
510
---
611

712
## ライフタイムとは何か

public/docs/rust/11-lifetimes/1-1-dangling-ref.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: rust-lifetimes-dangling-ref
33
title: ダングリング参照を防ぐ
44
level: 3
5+
question:
6+
- ダングリング参照とは、どのような問題を引き起こすのですか?
7+
- 提示されたコード例がコンパイルエラーになるのはなぜですか?もっと詳しく教えてください。
8+
- 借用チェッカーとは何ですか?どのような役割を果たしているのですか?
9+
- 「スコープのズレ」とは、具体的にどの部分がどのようにズレていることを指しますか?
510
---
611

712
### ダングリング参照を防ぐ

public/docs/rust/11-lifetimes/2-0-func-lifetime.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-lifetimes-func-lifetime
33
title: 関数のライフタイム注釈
44
level: 2
5+
question:
6+
- '`longest` 関数のエラーメッセージ `missing lifetime specifier` は、何を意味しているのですか?'
7+
- 「戻り値の参照がいつまで有効であれば安全なのか」という問題について、具体的なシナリオで説明してください。
8+
- なぜコンパイラは `x` と `y` どちらを返すか実行時まで分からないのですか?
59
---
610

711
## 関数のライフタイム注釈

public/docs/rust/11-lifetimes/2-1-lifetime-syntax.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: rust-lifetimes-lifetime-syntax
33
title: ライフタイム注釈の構文
44
level: 3
5+
question:
6+
- '`''a` のようなライフタイムパラメータ名は何を意味するのですか?なぜ `''a''` が一般的なのですか?'
7+
- 「引数x、引数y、そして戻り値は、すべて少なくとも 'a と同じ期間だけ生きている」という制約は、具体的にどういう状況を保証するのですか?
8+
- ライフタイム注釈は変数の寿命を延ばさない、というのはどういうことですか?
9+
- 「最も寿命が短いもの」に戻り値の寿命を合わせる、というルールはなぜ必要なのですか?
10+
- '`longest_success.rs` の例で、コメントアウトされている `println!` がコンパイルエラーになる理由を教えてください。'
511
---
612

713
### ライフタイム注釈の構文

public/docs/rust/11-lifetimes/3-0-elision.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-lifetimes-elision
33
title: ライフタイム省略ルール
44
level: 2
5+
question:
6+
- ライフタイム省略ルールがあるのに、なぜライフタイム注釈を学ぶ必要があるのですか?
7+
- ライフタイム省略ルールの「各引数に独自のライフタイムを割り当てる」という例を、もう少し詳しく教えてください。
8+
- メソッドで `self` のライフタイムが割り当てられる具体例を挙げて説明してください。
59
---
610

711
## ライフタイム省略ルール

public/docs/rust/11-lifetimes/4-0-struct-lifetime.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: rust-lifetimes-struct-lifetime
33
title: 構造体定義におけるライフタイム注釈
44
level: 2
5+
question:
6+
- 構造体に参照を持たせたいのは、どのような場合に便利ですか?
7+
- 「構造体そのものよりも、中の参照先が長生きである」ことを保証するとは、具体的にどういう状況を指しますか?
8+
- '`ImportantExcerpt` の例で、もし `novel` が `i` よりも早くドロップされたらどうなりますか?'
9+
- 構造体で `<'a>` を忘れた場合のエラーメッセージの具体例を見たいです。
510
---
611

712
## 構造体定義におけるライフタイム注釈

public/docs/rust/11-lifetimes/5-0-static-lifetime.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
---
22
id: rust-lifetimes-static-lifetime
3-
title: "静的ライフタイム ('static)"
3+
title: 静的ライフタイム ('static)
44
level: 2
5+
question:
6+
- '`''static` ライフタイムは、プログラムの実行期間全体にわたって有効、とは具体的にどのくらいの期間ですか?'
7+
- 文字列リテラルがなぜ `'static` ライフタイムを持つのか、もっと詳しく説明してください。
8+
- '`''static` を安易に使ってはいけない具体的な落とし穴には、どのようなものがありますか?'
9+
- エラーメッセージで `'static` が提案されるケースは、どんな状況が多いですか?
510
---
611

712
## 静的ライフタイム ('static)

public/docs/rust/11-lifetimes/6-0-summary.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-lifetimes-summary
33
title: この章のまとめ
44
level: 2
5+
question:
6+
- ライフタイムを理解することで、Rustプログラミングにおいて具体的にどのようなメリットがありますか?
7+
- C++のようなメモリ管理の落とし穴とは、具体的にどのような問題のことですか?
8+
- ライフタイムは最初はノイズに見える、とありますが、慣れるためにはどうすれば良いですか?
59
---
610

711
## この章のまとめ

public/docs/rust/11-lifetimes/6-1-practice1.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-lifetimes-practice1
33
title: '練習問題 1: 参照を持つ構造体とメソッド'
44
level: 3
5+
question:
6+
- '`Book` 構造体の定義で、どこに `''a` を記述すれば良いのですか?'
7+
- '`Book` の `title` フィールドを `String` ではなく `&str` にするメリットは何ですか?'
8+
- '`# [derive(Debug)]` は、なぜ必要なのでしょうか?'
59
---
610

711
### 練習問題 1: 参照を持つ構造体とメソッド

public/docs/rust/11-lifetimes/6-2-practice2.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-lifetimes-practice2
33
title: '練習問題 2: 最初の単語を返す関数(ライフタイム付き)'
44
level: 3
5+
question:
6+
- '`longest` 関数と `first_word` 関数をどのように組み合わせて `first_word_of_longer` を作れば良いですか?'
7+
- '`s.split_whitespace().next()` の結果のスライスのライフタイムは、どのように決まるのですか?'
8+
- 練習問題2の関数で、もし戻り値にライフタイム注釈を付けなかったら、どのようなエラーになりますか?
59
---
610

711
### 練習問題 2: 最初の単語を返す関数(ライフタイム付き)

0 commit comments

Comments
 (0)