Skip to content

Commit 181c5cd

Browse files
committed
ch02-00 数当てゲームの和訳をアップデート
1 parent 46bef82 commit 181c5cd

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

src/ch02-00-guessing-game-tutorial.md

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,6 @@ variable that is currently bound to a new, empty instance of a `String`. Whew!
335335
つまり`let mut guess = String::new();`という行は可変変数を作成し、その変数は現時点では新しい空の`String`のインスタンスに束縛されているわけです。
336336
ふう!
337337

338-
<!-- ここまで翻訳済み -->
339338

340339
<!--
341340
### Receiving User Input
@@ -463,8 +462,9 @@ evaluated.
463462
前述したように、`read_line`メソッドは、渡された文字列にユーザが入力したものを入れます。
464463
しかし、同時に値(この場合は[`io::Result`][ioresult])も返します。
465464
Rustの標準ライブラリには`Result`という名前の型がいくつかあります。
466-
汎用の[`Result`][result]と、`io::Result`といったサブモジュール用の特殊な型などがあります。
467-
`Result`型は[*列挙型*][enums]で、よく*enum*と呼ばれ、取りうる値として決まった数の*列挙子*(variant)を持ちます。
465+
汎用の[`Result`][result]と、`io::Result`といったサブモジュール用の特殊な型などです。
466+
これらの`Result`型は[*列挙型*][enums]になります。
467+
列挙型は*enum*とも呼ばれ、取りうる値として決まった数の*列挙子*(variant)を持ちます。
468468
列挙型はよく`match`と一緒に使われます。
469469
これは条件式の一種で、評価時に、列挙型の値がどの列挙子であるかに基づいて異なるコードを実行できるという便利なものです。
470470

@@ -507,7 +507,8 @@ can use it. In this case, that value is the number of bytes in the user’s inpu
507507
`io::Result`のインスタンスには[`expect`メソッド][expect]がありますので、これを呼び出せます。
508508
この`io::Result`インスタンスが`Err`の値の場合、`expect`メソッドはプログラムをクラッシュさせ、引数として渡されたメッセージを表示します。
509509
`read_line`メソッドが`Err`を返したら、それはおそらく基礎となるオペレーティング・システムに起因するものでしょう。
510-
もしこの`io::Result`オブジェクトが`Ok`値の場合、`expect`メソッドは`Ok`列挙子が保持する戻り値を取り出して、その値だけを返してくれますので、(呼び出し元では)その値を使うことができます。
510+
もしこの`io::Result`オブジェクトが`Ok`値の場合、`expect`メソッドは`Ok`列挙子が保持する戻り値を取り出して、その値だけを返してくれます。
511+
こうして私たちはその値を使うことができるわけです。
511512
今回の場合、その値はユーザ入力のバイト数になります。
512513

513514
[expect]: https://doc.rust-lang.org/std/result/enum.Result.html#method.expect
@@ -516,7 +517,7 @@ can use it. In this case, that value is the number of bytes in the user’s inpu
516517
If you don’t call `expect`, the program will compile, but you’ll get a warning:
517518
-->
518519

519-
もし`expect`メソッドを呼び出さなかったら、コンパイルできるものの、警告が出るでしょう。
520+
もし`expect`メソッドを呼び出さなかったら、コンパイルできるものの、警告が出るでしょう。
520521

521522
```console
522523
{{#include ../listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/output.txt}}
@@ -536,21 +537,22 @@ use `expect`. You’ll learn about recovering from errors in [Chapter
536537
9][recover].
537538
-->
538539

539-
警告を抑制する正しい方法は実際にエラー処理を書くことですが、今回の場合は問題が起きたときにこのプログラムをクラッシュさせたいだけなので、`expect`が使えるわけです。
540+
警告を抑制する正しい方法は実際にエラー処理を書くことです。
541+
しかし、今回は問題が起きたときにこのプログラムをクラッシュさせたいだけなので、`expect`が使えるわけです。
540542
エラーからの回復については第9章で学びます。
541543

542544
<!--
543545
### Printing Values with `println!` Placeholders
544546
-->
545547

546-
### `println!`マクロのプレースホルダーで値を出力する
548+
### `println!`マクロのプレースホルダーで値を表示する
547549

548550
<!--
549551
Aside from the closing curly bracket, there’s only one more line to discuss in
550552
the code so far:
551553
-->
552554

553-
閉じ波かっこを除けば、ここまでに追加されたコードのうち議論すべきものは、残り1行であり、それは以下の通りです:
555+
閉じ波かっこを除けば、ここまでのコードで説明するのは残り1行だけです。
554556

555557
```rust,ignore
556558
{{#rustdoc_include ../listings/ch02-guessing-game-tutorial/listing-02-01/src/main.rs:print_guess}}
@@ -565,11 +567,12 @@ string, the second set holds the second value, and so on. Printing multiple
565567
values in one call to `println!` would look like this:
566568
-->
567569

568-
この行は、ユーザ入力を保存した文字列の中身を出力します。1組の波括弧の`{}`は、プレースホルダーの役目を果たします:
569-
`{}`は値を所定の場所に保持する小さなカニのはさみと考えてください。波括弧を使って一つ以上の値を出力できます:
570-
最初の波括弧の組は、フォーマット文字列の後に列挙された最初の値に対応し、
571-
2組目は、2つ目の値、とそんな感じで続いていきます。1回の`println!`の呼び出しで複数の値を出力するコードは、
572-
以下のような感じになります:
570+
この行は、現在はユーザの入力を保存している文字列を表示します。
571+
一組の波括弧の`{}`はプレースホルダーです。
572+
`{}`は値を所定の場所に保持する小さなカニのはさみだと考えてください。
573+
波括弧をいくつか使えば複数の値を表示できます。
574+
最初の波括弧の組はフォーマット文字列のあとに並んだ最初の値に対応し、2組目は2番目の値、というように続いていきます。
575+
一回の`println!`の呼び出しで複数の値を表示するなら、次のようになります。
573576

574577
```rust
575578
let x = 5;
@@ -582,7 +585,7 @@ println!("x = {} and y = {}", x, y);
582585
This code would print `x = 5 and y = 10`.
583586
-->
584587

585-
このコードは`x = 5 and y = 10`と出力するでしょう.
588+
このコードは`x = 5 and y = 10`と表示するでしょう。
586589

587590
<!--
588591
### Testing the First Part
@@ -594,7 +597,8 @@ This code would print `x = 5 and y = 10`.
594597
Let’s test the first part of the guessing game. Run it using `cargo run`:
595598
-->
596599

597-
数当てゲームの最初の部分をテストしてみましょう。`cargo run`でプログラムを走らせてください:
600+
数当てゲームの最初の部分をテストしてみましょう。
601+
`cargo run`で走らせてください。
598602

599603

600604
```console
@@ -613,7 +617,7 @@ At this point, the first part of the game is done: we’re getting input from th
613617
keyboard and then printing it.
614618
-->
615619

616-
ここまでで、ゲームの最初の部分は完成になります: キーボードからの入力を受け付け、出力できています
620+
これで、キーボードからの入力を得て、それを表示するという、ゲームの最初の部分は完成になります
617621

618622
<!--
619623
## Generating a Secret Number
@@ -630,13 +634,16 @@ library. However, the Rust team does provide a [`rand` crate][randcrate] with
630634
said functionality.
631635
-->
632636

633-
次に、ユーザが数当てに挑戦する秘密の数字を生成する必要があります。毎回この秘密の数字は、変わるべきです。
634-
ゲームが何回も楽しめるようにですね。ゲームが難しくなりすぎないように、1から100までの乱数を使用しましょう。
635-
Rustの標準ライブラリには、乱数機能はまだ含まれていません。ですが、実は、
636-
Rustの開発チームが[`rand`クレート][randcrate]を用意してくれています。
637+
次に、ユーザが数当てに挑戦する秘密の数字を生成する必要があります。
638+
この数字を毎回変えることで何度やっても楽しいゲームになります。
639+
ゲームが難しくなりすぎないように1から100までの乱数を使用しましょう。
640+
Rustの標準ライブラリには、まだ乱数の機能は含まれていません。
641+
ですが、Rustの開発チームがこの機能を持つ[`rand`クレート][randcrate]を提供してくれています。
637642

638643
[randcrate]: https://crates.io/crates/rand
639644

645+
<!-- ここまで翻訳済み -->
646+
640647
<!--
641648
### Using a Crate to Get More Functionality
642649
-->

0 commit comments

Comments
 (0)