Skip to content

Commit e1fd6cc

Browse files
authored
Merge pull request #40 from kiripon/fix-derive-translation
`Derive` の訳語を `導出` に変更
2 parents 2be9e98 + 0d815e9 commit e1fd6cc

File tree

7 files changed

+27
-27
lines changed

7 files changed

+27
-27
lines changed

second-edition/src/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@
258258
- [付録](appendix-00.md)
259259
- [A - キーワード](appendix-01-keywords.md)
260260
- [B - 演算子とシンボル](appendix-02-operators.md)
261-
- [C - 継承可能なトレイト](appendix-03-derivable-traits.md)
261+
- [C - 導出可能なトレイト](appendix-03-derivable-traits.md)
262262
- [D - マクロ](appendix-04-macros.md)
263263
- [E - 翻訳](appendix-05-translation.md)
264264
- [F - 最新の機能](appendix-06-newest-features.md)

second-edition/src/appendix-03-derivable-traits.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!-- ## Appendix C: Derivable Traits -->
22

3-
## 付録C: 継承可能なトレイト
3+
## 付録C: 導出可能なトレイト
44

55
<!-- In various places in the book, we’ve discussed the `derive` attribute, which -->
66
<!-- you can apply to a struct or enum definition. The `derive` attribute generates -->
@@ -21,7 +21,7 @@
2121
<!-- * The conditions in which you’re allowed or not allowed to implement the trait -->
2222
<!-- * Examples of operations that require the trait -->
2323

24-
* このトレイトを継承する演算子やメソッドで可能になること
24+
* このトレイトを導出する演算子やメソッドで可能になること
2525
* `derive`が提供するトレイトの実装がすること
2626
* トレイトを実装することが型についてどれほど重要か
2727
* そのトレイトを実装できたりできなかったりする条件
@@ -50,7 +50,7 @@
5050
<!-- would be most relevant to them? The Rust compiler doesn’t have this insight, so -->
5151
<!-- it can’t provide appropriate default behavior for you. -->
5252

53-
継承できないトレイトの例は`Display`で、これはエンドユーザ向けのフォーマットを扱います。常に、エンドユーザ向けに型を表示する適切な方法について、
53+
導出できないトレイトの例は`Display`で、これはエンドユーザ向けのフォーマットを扱います。常に、エンドユーザ向けに型を表示する適切な方法について、
5454
考慮すべきです。型のどの部分をエンドユーザは見ることができるべきでしょうか?どの部分を関係があると考えるでしょうか?
5555
どんな形式のデータがエンドユーザにとって最も関係があるでしょうか?Rustコンパイラには、
5656
この見識がないため、適切な既定動作を提供してくれないのです。
@@ -60,7 +60,7 @@
6060
<!-- traits you can use `derive` with truly open-ended. Implementing `derive` -->
6161
<!-- involves using a procedural macro, which is covered in Appendix D. -->
6262

63-
この付録で提供される継承可能なトレイトのリストは、包括的ではありません: ライブラリは、自身のトレイトに`derive`を実装でき、
63+
この付録で提供される導出可能なトレイトのリストは、包括的ではありません: ライブラリは、自身のトレイトに`derive`を実装でき、
6464
`derive`と共に使用できるトレイトのリストが実に限りのないものになってしまうのです。`derive`の実装には、
6565
プロシージャルなマクロが関連します。マクロについては、付録Dで講義します。
6666

@@ -103,9 +103,9 @@
103103
<!-- instances are not equal if any fields are not equal. When derived on enums, -->
104104
<!-- each variant is equal to itself and not equal to the other variants. -->
105105

106-
`PartialEq`を継承すると`eq`メソッドを実装します。構造体に`PartialEq`を継承すると
106+
`PartialEq`を導出すると`eq`メソッドを実装します。構造体に`PartialEq`を導出すると
107107
**フィールドが等しい時のみ2つのインスタンスは等価になり、いずれかのフィールドが等価でなければ、
108-
インスタンスは等価ではなくなります。enumに継承すると、各列挙子は、自身には等価ですが、他の列挙子には等価ではありません。
108+
インスタンスは等価ではなくなります。enumに導出すると、各列挙子は、自身には等価ですが、他の列挙子には等価ではありません。
109109

110110
<!-- The `PartialEq` trait is required, for example, with the use of the -->
111111
<!-- `assert_eq!` macro, which needs to be able to compare two instances of a type -->
@@ -151,7 +151,7 @@
151151
<!-- point value. Calling `partial_cmp` with any floating point number and the `NaN` -->
152152
<!-- floating point value will return `None`. -->
153153

154-
`PartialOrd`を継承すると`partial_cmp`メソッドを実装し、これは、与えられた値が順序付けられない時に`None`になる`Option<Ordering>`を返します。
154+
`PartialOrd`を導出すると`partial_cmp`メソッドを実装し、これは、与えられた値が順序付けられない時に`None`になる`Option<Ordering>`を返します。
155155
その型のほとんどの値は比較できるものの、順序付けできない値の例として、非数字(`NaN`)浮動小数点値が挙げられます。
156156
`partial_cmp`をあらゆる浮動小数点数と`NaN`浮動小数点数で呼び出すと、`None`が返るでしょう。
157157

@@ -160,8 +160,8 @@
160160
<!-- definition. When derived on enums, variants of the enum declared earlier in the -->
161161
<!-- enum definition are considered less than the variants listed later. -->
162162

163-
構造体に継承すると、フィールドが構造体定義で現れる順番で各フィールドの値を比較することで2つのインスタンスを比較します。
164-
enumに継承すると、enum定義で先に定義された列挙子が、後に列挙された列挙子よりも小さいと考えられます。
163+
構造体に導出すると、フィールドが構造体定義で現れる順番で各フィールドの値を比較することで2つのインスタンスを比較します。
164+
enumに導出すると、enum定義で先に定義された列挙子が、後に列挙された列挙子よりも小さいと考えられます。
165165

166166
<!-- The `PartialOrd` trait is required, for example, for the `gen_range` method -->
167167
<!-- from the `rand` crate that generates a random value in the range specified by a -->
@@ -180,8 +180,8 @@ enumに継承すると、enum定義で先に定義された列挙子が、後に
180180
`Ord`トレイトにより、注釈した型のあらゆる2つの値に対して、合法な順序付けが行えることがわかります。
181181
`Ord`トレイトは`cmp`メソッドを実装し、これは、常に合法な順序付けが可能なので、`Option<Ordering>`ではなく、
182182
`Ordering`を返します。`PartialOrd``Eq`(`Eq``PartialEq`も必要とします)も実装している型にしか、
183-
`Ord`トレイトを適用することはできません。構造体とenumで継承したら`PartialOrd`で、
184-
`partial_cmp`の継承した実装と同じように`cmp`は振る舞います。
183+
`Ord`トレイトを適用することはできません。構造体とenumで導出したら`PartialOrd`で、
184+
`partial_cmp`の導出した実装と同じように`cmp`は振る舞います。
185185

186186
<!-- An example of when `Ord` is required is when storing values in a `BTreeSet<T>`, -->
187187
<!-- a data structure that stores data based on the sort order of the values. -->
@@ -206,8 +206,8 @@ enumに継承すると、enum定義で先に定義された列挙子が、後に
206206
<!-- whole type, calls `clone` on each of the parts of the type. This means all the -->
207207
<!-- fields or values in the type must also implement `Clone` to derive `Clone`. -->
208208

209-
`Clone`を継承すると`clone`メソッドを実装し、これは型全体に対して実装されると、
210-
型の各部品に対して`clone`を呼び出します。要するに、`Clone`を継承するには
209+
`Clone`を導出すると`clone`メソッドを実装し、これは型全体に対して実装されると、
210+
型の各部品に対して`clone`を呼び出します。要するに、`Clone`を導出するには
211211
型のフィールドと値全部も`Clone`を実装していなければならないということです。
212212

213213
<!-- An example of when `Clone` is required is when calling the `to_vec` method on a -->
@@ -239,7 +239,7 @@ enumに継承すると、enum定義で先に定義された列挙子が、後に
239239
<!-- type that implements `Copy` has a trivial implementation of `Clone` that -->
240240
<!-- performs the same task as `Copy`. -->
241241

242-
部品すべてが`Copy`を実装する任意の型に対して`Copy`を継承することができます`Clone`も実装する型に対してのみ、
242+
部品すべてが`Copy`を実装する任意の型に対して`Copy`を導出することができます`Clone`も実装する型に対してのみ、
243243
`Copy`トレイトを適用することができます。何故なら、`Copy`を実装する型には、
244244
`Copy`と同じ作業を行う`Clone`の<ruby>瑣末<rp>(</rp><rt>さまつ</rt><rp>)</rp></ruby>な実装があるからです。
245245

@@ -267,8 +267,8 @@ enumに継承すると、enum定義で先に定義された列挙子が、後に
267267
<!-- meaning all fields or values must also implement `Hash` to derive `Hash`. -->
268268

269269
`Hash`トレイトにより、任意のサイズの型のインスタンスを取り、そのインスタンスをハッシュ関数で固定サイズの値にマップできます。
270-
`Hash`を継承すると`hash`メソッドを実装します。`hash`の継承された実装は
271-
型の各部品に対して呼び出した`hash`の結果を組み合わせます。つまり、`Hash`を継承するには
270+
`Hash`を導出すると`hash`メソッドを実装します。`hash`の導出された実装は
271+
型の各部品に対して呼び出した`hash`の結果を組み合わせます。つまり、`Hash`を導出するには
272272
全フィールドと値も`Hash`を実装しなければならないということです。
273273

274274
<!-- An example of when `Hash` is required is in storing keys in a `HashMap<K, V>` -->
@@ -286,9 +286,9 @@ enumに継承すると、enum定義で先に定義された列挙子が、後に
286286
<!-- meaning all fields or values in the type must also implement `Default` to -->
287287
<!-- derive `Default.` -->
288288

289-
`Default`トレイトにより、型に対して既定値を生成できます。`Default`を継承すると`default`関数を実装します。
290-
`default`関数の継承された実装は、型の各部品に対して`default`関数を呼び出します。つまり、
291-
`Default`を継承するには、型の全フィールドと値も`Default`を実装しなければならないということです。
289+
`Default`トレイトにより、型に対して既定値を生成できます。`Default`を導出すると`default`関数を実装します。
290+
`default`関数の導出された実装は、型の各部品に対して`default`関数を呼び出します。つまり、
291+
`Default`を導出するには、型の全フィールドと値も`Default`を実装しなければならないということです。
292292

293293
<!-- The `Default::default` function is commonly used in combination with the struct -->
294294
<!-- update syntax discussed in the “Creating Instances From Other Instances With -->

second-edition/src/appendix-04-macros.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ Rustコードの完全なパーサを書くのは、単純な作業ではない
560560
<!-- added the `#[derive(HelloMacro)]` annotation to. -->
561561

562562
この関数はまず、`TokenStream`からの`input``to_string`を呼び出して`String`に変換します。
563-
この`String`は、`HelloMacro`を継承しているRustコードの文字列表現になります
563+
この`String`は、`HelloMacro`を導出しているRustコードの文字列表現になります
564564
リストD-2の例で、`s``struct Pancakes;`という`String`値になります。
565565
それが`#[derive(HelloMacro)]`注釈を追加したRustコードだからです。
566566

second-edition/src/ch00-00-introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ Rustの一面を学ぶでしょう。プロジェクトの章では、それま
278278

279279
最後に、言語についての有用な情報をよりリファレンスのような形式で含む付録があります。
280280
付録AはRustのキーワードを講義し、付録Bは、Rustの演算子と記号、付録Cは、
281-
標準ライブラリが提供する継承可能なトレイト、付録Dはマクロを講義します。
281+
標準ライブラリが提供する導出可能なトレイト、付録Dはマクロを講義します。
282282

283283
<!-- There is no wrong way to read this book: if you want to skip ahead, go for it! -->
284284
<!-- You might have to jump back to earlier chapters if you experience any -->

second-edition/src/ch04-01-what-is-ownership.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,7 @@ Rustには`Copy`トレイトと呼ばれる特別な注釈があり、
734734
型が`Copy`トレイトに適合していれば、代入後も古い変数が使用可能になります。コンパイラは、
735735
型やその一部分でも`Drop`トレイトを実装している場合、`Copy`トレイトによる注釈をさせてくれません。
736736
型の値がスコープを外れた時に何か特別なことを起こす必要がある場合に、`Copy`注釈を追加すると、コンパイルエラーが出ます。
737-
型に`Copy`注釈をつける方法について学ぶには、付録Cの「継承可能トレイト」をご覧ください。
737+
型に`Copy`注釈をつける方法について学ぶには、付録Cの「導出可能なトレイト」をご覧ください。
738738

739739
<!-- So what types are `Copy`? You can check the documentation for the given type to -->
740740
<!-- be sure, but as a general rule, any group of simple scalar values can be -->

second-edition/src/ch05-02-example-structs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ fn area(rectangle: &Rectangle) -> u32 {
212212

213213
<!-- ### Adding Useful Functionality with Derived Traits -->
214214

215-
### トレイトの継承で有用な機能を追加する
215+
### トレイトの導出で有用な機能を追加する
216216

217217
<!-- It’d be nice to be able to print an instance of `Rectangle` while we’re -->
218218
<!-- debugging our program and see the values for all its fields. Listing 5-11 tries -->
@@ -344,7 +344,7 @@ fn main() {
344344
<!-- <span class="caption">Listing 5-12: Adding the annotation to derive the `Debug` -->
345345
<!-- trait and printing the `Rectangle` instance using debug formatting</span> -->
346346

347-
<span class="caption">リスト5-12: `Debug`トレイトを継承する注釈を追加し
347+
<span class="caption">リスト5-12: `Debug`トレイトを導出する注釈を追加し
348348
`Rectangle`インスタンスをデバッグ用整形機で出力する</span>
349349

350350
<!-- Now when we run the program, we won’t get any errors, and we’ll see the -->

second-edition/src/ch11-01-writing-tests.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -699,9 +699,9 @@ test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
699699
自分で定義した構造体とenumについては、`PartialEq`を実装して、
700700
その型の値が等しいか等しくないかアサーションする必要があるでしょう。`Debug`を実装して、
701701
アサーションが失敗した時に値を出力する必要もあるでしょう。
702-
第5章のリスト5-12で触れたように、どちらのトレイトも継承可能トレイトなので
702+
第5章のリスト5-12で触れたように、どちらのトレイトも導出可能なトレイトなので
703703
これは通常、構造体やenum定義に`#[derive(PartialEq, Debug)]`という注釈を追加するくらい単純になります。
704-
これらや他の継承可能トレイトに関する詳細については、付録Cをご覧ください。
704+
これらや他の導出可能なトレイトに関する詳細については、付録Cをご覧ください。
705705

706706
<!-- ### Adding Custom Failure Messages -->
707707

0 commit comments

Comments
 (0)