From e08b2821e2d0e205835a83c4ffe83cf3579a0ba7 Mon Sep 17 00:00:00 2001 From: "Tatsuya Kawano (Circle CI)" Date: Sat, 25 Jun 2016 13:25:42 +0800 Subject: [PATCH 1/2] Update Operators and Overloading to 1.9 --- 1.9/ja/book/operators-and-overloading.md | 21 ++++++++++--------- .../src/doc/book/operators-and-overloading.md | 12 ----------- 2 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 diff-1.6.0..1.9.0/src/doc/book/operators-and-overloading.md diff --git a/1.9/ja/book/operators-and-overloading.md b/1.9/ja/book/operators-and-overloading.md index 46bd64ee..d386c97f 100644 --- a/1.9/ja/book/operators-and-overloading.md +++ b/1.9/ja/book/operators-and-overloading.md @@ -6,10 +6,10 @@ Rustは制限された形式での演算子オーバーロードを提供しており、オーバーロード可能な演算子がいくつか存在します。 -型同士の間の演算子をサポートするためのトレイトが存在し、それらを実装することで演算子をオーバーロードすることができます。 +型同士の間の演算子をサポートするためのトレイトが存在し、それらを実装することで演算子をオーバーロードできます。 -例えば、 `+` の演算子は `Add` トレイトを利用することでオーバーロードすることができます: +例えば、 `+` の演算子は `Add` トレイトを利用することでオーバーロードできます: ```rust use std::ops::Add; @@ -40,13 +40,13 @@ fn main() { -`main` 中で、2つの `Point` に対して `+` を使うことができます、 +`main` 中で、2つの `Point` に対して `+` を使えます。 これは `Point` に対して `Add` を実装したためです。 -同じ方法でオーバーロード可能な演算子が多数あります、 +同じ方法でオーバーロード可能な演算子が多数あります。 それらに対応したトレイトは [`std::ops`][stdops] モジュール内に存在します。 全てのオーバーロード可能な演算子と対応するトレイトについては [`std::ops`][stdops] のドキュメントを読んで確認して下さい。 @@ -54,7 +54,8 @@ fn main() { -それらのトレイトの実装はパターンに従います。 [`Add`][add] トレイトを詳しく見ていきましょう: +それらのトレイトの実装はパターンに従います。 +[`Add`][add] トレイトを詳しく見ていきましょう: ```rust # mod foo { @@ -101,8 +102,7 @@ let x: f64 = p + 2i32; -オペレータトレイトがどのように定義されているかについて学びましたので、 -[トレイトについての章][traits] の `HasArea` トレイトと `Square` 構造体をさらに一般的に定義することができます: +オペレータトレイトがどのように定義されているかについて学びましたので、[トレイトについての章][traits] の `HasArea` トレイトと `Square` 構造体をさらに一般的に定義することができます: [traits]: traits.html @@ -137,10 +137,10 @@ fn main() { } ``` - + `HasArea` と `Square` について、型パラメータ `T` を宣言し `f64` で置換しました。 -`impl` はさらに関連するモディフィケーションを必要とします: +`impl` はさらに関連するモディフィケーシを必要とします: ```ignore impl HasArea for Square @@ -154,5 +154,6 @@ impl HasArea for Square `area` メソッドは辺を掛けることが可能なことを必要としています。 そのため型 `T` が `std::ops::Mul` を実装していなければならないと宣言しています。 -上で説明した `Add` と同様に、`Mul` は `Output` パラメータを取ります: 数値を掛け算した時に型が変わらないことを知っていますので、 `Output` も `T` と設定します。 +上で説明した `Add` と同様に、`Mul` は `Output` パラメータを取ります: +数値を掛け算した時に型が変わらないことを知っていますので、 `Output` も `T` と設定します。 また `T` は、Rustが `self.side` を返り値にムーブするのを試みないようにコピーをサポートしている必要があります。 diff --git a/diff-1.6.0..1.9.0/src/doc/book/operators-and-overloading.md b/diff-1.6.0..1.9.0/src/doc/book/operators-and-overloading.md deleted file mode 100644 index 5aee3e9d..00000000 --- a/diff-1.6.0..1.9.0/src/doc/book/operators-and-overloading.md +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/doc/book/operators-and-overloading.md -+++ b/src/doc/book/operators-and-overloading.md -@@ -120,7 +120,7 @@ fn main() { - } - ``` - --For `HasArea` and `Square`, we just declare a type parameter `T` and replace -+For `HasArea` and `Square`, we declare a type parameter `T` and replace - `f64` with it. The `impl` needs more involved modifications: - - ```ignore -diff --git a/src/doc/book/ownership.md b/src/doc/book/ownership.md From c4fe9f0bb2b0b1a9c5a47f84377fc779b9280ef9 Mon Sep 17 00:00:00 2001 From: "Tatsuya Kawano (Circle CI)" Date: Tue, 28 Feb 2017 21:29:03 +0800 Subject: [PATCH 2/2] Cosmetics on the translation of Operators and Overloading (1.9) --- 1.9/ja/book/operators-and-overloading.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/1.9/ja/book/operators-and-overloading.md b/1.9/ja/book/operators-and-overloading.md index d386c97f..70c31679 100644 --- a/1.9/ja/book/operators-and-overloading.md +++ b/1.9/ja/book/operators-and-overloading.md @@ -9,7 +9,7 @@ Rustは制限された形式での演算子オーバーロードを提供して 型同士の間の演算子をサポートするためのトレイトが存在し、それらを実装することで演算子をオーバーロードできます。 -例えば、 `+` の演算子は `Add` トレイトを利用することでオーバーロードできます: +たとえば、 `+` の演算子は `Add` トレイトでオーバーロードできます: ```rust use std::ops::Add; @@ -54,7 +54,7 @@ fn main() { -それらのトレイトの実装はパターンに従います。 +それらのトレイトの実装は、ある一つのパターンに従います。 [`Add`][add] トレイトを詳しく見ていきましょう: ```rust @@ -72,8 +72,8 @@ pub trait Add { -関連する3つの型が存在します: `impl Add` を実装するもの、 デフォルトが `Self` の `RHS`、 そして `Output` 。 -例えば、式 `let z = x + y` においては `x` は `Self` 型 `y` は RHS、 `z` は `Self::Output` 型となります。 +関連する3つの型が存在します: `impl Add` を実装するもの、 デフォルトが `Self` の `RHS`、 そして `Output` です。 +たとえば、式 `let z = x + y` においては `x` は `Self` 型 `y` は RHS、 `z` は `Self::Output` 型となります。 ```rust # struct Point; @@ -102,7 +102,7 @@ let x: f64 = p + 2i32; -オペレータトレイトがどのように定義されているかについて学びましたので、[トレイトについての章][traits] の `HasArea` トレイトと `Square` 構造体をさらに一般的に定義することができます: +オペレータトレイトがどのように定義されているかを学びましたので、[トレイトについての章][traits] の `HasArea` トレイトと `Square` 構造体をさらに一般的に定義できます: [traits]: traits.html @@ -140,7 +140,7 @@ fn main() { `HasArea` と `Square` について、型パラメータ `T` を宣言し `f64` で置換しました。 -`impl` はさらに関連するモディフィケーシを必要とします: +`impl` はさらに関連する修正を必要とします: ```ignore impl HasArea for Square