@@ -12,7 +12,7 @@ Rustの学習を始めましょう。
12
12
このプロジェクトでは、古典的な初心者向けのプログラミングの問題、数当てゲームを実装します。
13
13
これは次のように動作します。
14
14
プログラムは1から100までの数字を1つ、ランダムに生成します。
15
- そしてあなたに、予想した数字を入力するよう促します 。
15
+ そしてあなたに、数字を予想して入力するよう促します 。
16
16
予想値を入力すると、大きすぎる、あるいは、小さすぎるといったヒントを出します。
17
17
当たったら、おめでとうと言ってくれます。良さそうですか?
18
18
@@ -100,7 +100,7 @@ Hello, world!
100
100
<!-- iteration before moving on to the next one. -->
101
101
いい感じです。
102
102
` run ` コマンドはプロジェクトを細かく回す必要があるときに便利でしょう。
103
- 今回のゲームがまさにそのようなプロジェクトです。すぐに試してから次の行動に移る、といったことを繰り返していきます 。
103
+ 今回のゲームがまさにそのようなプロジェクトです。すぐに試してから次の行動に移るといったことを繰り返していきます 。
104
104
105
105
<!-- # Processing a Guess -->
106
106
# 予想値を処理する
@@ -274,7 +274,7 @@ let mut bar = 5; // ミュータブル
274
274
275
275
<!-- That’s a lot more! Let’s go bit-by-bit. The first line has two parts. Here’s -->
276
276
<!-- the first: -->
277
- いろいろ出てきました。少しずつ確認していきましょう。最初の行は2つの部分を持ちます 。
277
+ いろいろ出てきました。少しずつ確認していきましょう。最初の行は2つの部分で構成されます 。
278
278
これが最初の部分です。
279
279
280
280
``` rust,ignore
@@ -295,7 +295,7 @@ io::stdin()
295
295
[ iostdin ] : ../std/io/struct.Stdin.html
296
296
297
297
<!-- The next part will use this handle to get input from the user: -->
298
- 次の部分はこのハンドルを使ってユーザからの入力を取得します 。
298
+ 次の部分では、ハンドルを使ってユーザからの入力を取得します 。
299
299
300
300
``` rust,ignore
301
301
.read_line(&mut guess)
@@ -368,10 +368,10 @@ Rustの主要な売りの1つが、参照をいかに安全に簡単に使える
368
368
<!-- standard library: a generic [`Result`][result], and then specific versions for -->
369
369
<!-- sub-libraries, like `io::Result`. -->
370
370
ですがこれだと読み辛いです。そこで2つのメソッド呼び出しを、2つの行に分割したわけです。
371
- さて ` read_line() ` については話しましたが、 ` expect() ` とはなんでしょうか ?
371
+ さて ` read_line() ` については話しましたが、 ` expect() ` は何でしょうか ?
372
372
実は、` read_line() ` は引数として渡した ` &mut String ` にユーザの入力を入れるだけでなく、[ ` io::Result ` ] [ ioresult ] という値も返すのです。
373
373
標準ライブラリには ` Result ` という名の付く型がいくつもあります。
374
- まず汎用の[ ` Result ` ] [ result ] があって、さらにそれを個々のライブラリに特殊化したバージョンもあり 、` io::Result ` もその1つです。
374
+ まず汎用の[ ` Result ` ] [ result ] があって、さらに個々のライブラリに特殊化されたバージョンもあり 、` io::Result ` もその1つです。
375
375
376
376
[ ioresult ] : ../std/io/type.Result.html
377
377
[ result ] : ../std/result/enum.Result.html
@@ -478,7 +478,7 @@ You guessed: 6
478
478
<!-- Using external crates is where Cargo really shines. Before we can write -->
479
479
<!-- the code using `rand`, we need to modify our `Cargo.toml`. Open it up, and -->
480
480
<!-- add these few lines at the bottom: -->
481
- 外部のクレートを使う時にこそCargoが活かされます 。 ` rand ` を使う前に ` Cargo.toml ` を修正する必要があります。
481
+ 外部のクレートを使う時にこそ、Cargoが活きてきます 。 ` rand ` を使う前に ` Cargo.toml ` を修正する必要があります。
482
482
` Cargo.toml ` を開いて、その末尾に以下の行を追加しましょう。
483
483
484
484
``` toml
@@ -573,7 +573,7 @@ $ cargo build
573
573
<!-- week, version `v0.3.9` comes out, with an important bugfix? While getting -->
574
574
<!-- bugfixes is important, what if `0.3.9` contains a regression that breaks our -->
575
575
<!-- code? -->
576
- Cargoには ` rand ` の ` 0.3.x ` を使うと伝えたので、原稿執筆時点の最新版 ` v0.3.8 ` を取得しました。
576
+ Cargoには ` rand ` の ` 0.3.x ` を使うと伝えたので、執筆時点の最新版 ` v0.3.8 ` を取得しました。
577
577
ですがもし来週 ` v0.3.9 ` が出て、重要なバグがフィクスされたらどうなるのでしょう?
578
578
バグフィクスを取り込むのは重要ですが、 ` 0.3.9 ` にコードが動かなくなるようなリグレッションがあったらどうしましょう?
579
579
@@ -864,10 +864,10 @@ Could not compile `guessing_game`.
864
864
< ! -- need to be the same type. Ultimately, we want to convert the ` String` we -->
865
865
< ! -- read as input into a real number type, for comparison. We can do that -->
866
866
< ! -- with two more lines. Here’s our new program: -->
867
- ふぅ。 大きなエラーです。核心になっているのは「型の不一致」です。
867
+ うわ、 大きなエラーです。核心になっているのは「型の不一致」です。
868
868
Rustには強い静的な型システムがあり、また、型推論もあります。
869
869
` let guess = String::new ()` と書いた時、Rustは ` guess` が文字列であるはずだと推論できるので、わざわざ型を書かなくてもよいのです。
870
- また、` secret_number` では、1から100までの数値を表せる型として、いくつかの候補があり、例えば、32bit数の ` i32` 、符号なし32bit数の ` u32` 、64bit数の ` i64` などが該当ます 。
870
+ また、` secret_number` では、1から100までの数値を表せる型として、いくつかの候補があり、例えば、32bit数の ` i32` 、符号なし32bit数の ` u32` 、64bit数の ` i64` などが該当します 。
871
871
これまで、そのどれであっても良かったため、Rustはデフォルトの ` i32` としてました。
872
872
しかしここで、Rustは ` guess` と ` secret_number` の比較のしかたが分からないのです。
873
873
これらは同じ型である必要があります。
@@ -924,7 +924,7 @@ fn main() {
924
924
< ! -- to come up with two unique names like ` guess_str` and ` guess` , or something -->
925
925
< ! -- else. -->
926
926
ちょっと待ってください、既に ` guess` を定義してありますよね?
927
- してあります、が 、Rustでは以前の ` guess` の定義を新しいもので「覆い隠す」ことができるのです(訳注: このように隠すことをシャドーイングといいます)。
927
+ たしかにそうですが 、Rustでは以前の ` guess` の定義を新しいもので「覆い隠す」ことができるのです(訳注: このように隠すことをシャドーイングといいます)。
928
928
まさにこのように、最初 ` String` であった ` guess` を ` u32` に変換したい、というような状況でよく使われます。
929
929
シャドーイングのおかげで ` guess_str` と ` guess` のように別々の名前を考える必要はなくなり、 ` guess` の名前を再利用できます。
930
930
0 commit comments