@@ -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 ] )も返します。
465464Rustの標準ライブラリには` 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
516517If 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
5365379][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<!--
549551Aside from the closing curly bracket, there’s only one more line to discuss in
550552the 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
565567values 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
575578let x = 5 ;
@@ -582,7 +585,7 @@ println!("x = {} and y = {}", x, y);
582585This 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`.
594597Let’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
613617keyboard 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
630634said 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