@@ -335,7 +335,6 @@ variable that is currently bound to a new, empty instance of a `String`. Whew!
335
335
つまり` let mut guess = String::new(); ` という行は可変変数を作成し、その変数は現時点では新しい空の` String ` のインスタンスに束縛されているわけです。
336
336
ふう!
337
337
338
- <!-- ここまで翻訳済み -->
339
338
340
339
<!--
341
340
### Receiving User Input
@@ -463,8 +462,9 @@ evaluated.
463
462
前述したように、` read_line ` メソッドは、渡された文字列にユーザが入力したものを入れます。
464
463
しかし、同時に値(この場合は[ ` io::Result ` ] [ ioresult ] )も返します。
465
464
Rustの標準ライブラリには` Result ` という名前の型がいくつかあります。
466
- 汎用の[ ` Result ` ] [ result ] と、` io::Result ` といったサブモジュール用の特殊な型などがあります。
467
- ` Result ` 型は[ * 列挙型* ] [ enums ] で、よく* enum* と呼ばれ、取りうる値として決まった数の* 列挙子* (variant)を持ちます。
465
+ 汎用の[ ` Result ` ] [ result ] と、` io::Result ` といったサブモジュール用の特殊な型などです。
466
+ これらの` Result ` 型は[ * 列挙型* ] [ enums ] になります。
467
+ 列挙型は* enum* とも呼ばれ、取りうる値として決まった数の* 列挙子* (variant)を持ちます。
468
468
列挙型はよく` match ` と一緒に使われます。
469
469
これは条件式の一種で、評価時に、列挙型の値がどの列挙子であるかに基づいて異なるコードを実行できるという便利なものです。
470
470
@@ -507,7 +507,8 @@ can use it. In this case, that value is the number of bytes in the user’s inpu
507
507
` io::Result ` のインスタンスには[ ` expect ` メソッド] [ expect ] がありますので、これを呼び出せます。
508
508
この` io::Result ` インスタンスが` Err ` の値の場合、` expect ` メソッドはプログラムをクラッシュさせ、引数として渡されたメッセージを表示します。
509
509
` read_line ` メソッドが` Err ` を返したら、それはおそらく基礎となるオペレーティング・システムに起因するものでしょう。
510
- もしこの` io::Result ` オブジェクトが` Ok ` 値の場合、` expect ` メソッドは` Ok ` 列挙子が保持する戻り値を取り出して、その値だけを返してくれますので、(呼び出し元では)その値を使うことができます。
510
+ もしこの` io::Result ` オブジェクトが` Ok ` 値の場合、` expect ` メソッドは` Ok ` 列挙子が保持する戻り値を取り出して、その値だけを返してくれます。
511
+ こうして私たちはその値を使うことができるわけです。
511
512
今回の場合、その値はユーザ入力のバイト数になります。
512
513
513
514
[ 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
516
517
If you don’t call `expect`, the program will compile, but you’ll get a warning:
517
518
-->
518
519
519
- もし、 ` expect ` メソッドを呼び出さなかったら、コンパイルできるものの、警告が出るでしょう。
520
+ もし` expect ` メソッドを呼び出さなかったら、コンパイルできるものの、警告が出るでしょう。
520
521
521
522
``` console
522
523
{{#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
536
537
9][recover].
537
538
-->
538
539
539
- 警告を抑制する正しい方法は実際にエラー処理を書くことですが、今回の場合は問題が起きたときにこのプログラムをクラッシュさせたいだけなので、` expect ` が使えるわけです。
540
+ 警告を抑制する正しい方法は実際にエラー処理を書くことです。
541
+ しかし、今回は問題が起きたときにこのプログラムをクラッシュさせたいだけなので、` expect ` が使えるわけです。
540
542
エラーからの回復については第9章で学びます。
541
543
542
544
<!--
543
545
### Printing Values with `println!` Placeholders
544
546
-->
545
547
546
- ### ` println! ` マクロのプレースホルダーで値を出力する
548
+ ### ` println! ` マクロのプレースホルダーで値を表示する
547
549
548
550
<!--
549
551
Aside from the closing curly bracket, there’s only one more line to discuss in
550
552
the code so far:
551
553
-->
552
554
553
- 閉じ波かっこを除けば、ここまでに追加されたコードのうち議論すべきものは、残り1行であり、それは以下の通りです:
555
+ 閉じ波かっこを除けば、ここまでのコードで説明するのは残り1行だけです。
554
556
555
557
``` rust,ignore
556
558
{{#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
565
567
values in one call to `println!` would look like this:
566
568
-->
567
569
568
- この行は、ユーザ入力を保存した文字列の中身を出力します。1組の波括弧の` {} ` は、プレースホルダーの役目を果たします:
569
- ` {} ` は値を所定の場所に保持する小さなカニのはさみと考えてください。波括弧を使って一つ以上の値を出力できます:
570
- 最初の波括弧の組は、フォーマット文字列の後に列挙された最初の値に対応し、
571
- 2組目は、2つ目の値、とそんな感じで続いていきます。1回の` println! ` の呼び出しで複数の値を出力するコードは、
572
- 以下のような感じになります:
570
+ この行は、現在はユーザの入力を保存している文字列を表示します。
571
+ 一組の波括弧の` {} ` はプレースホルダーです。
572
+ ` {} ` は値を所定の場所に保持する小さなカニのはさみだと考えてください。
573
+ 波括弧をいくつか使えば複数の値を表示できます。
574
+ 最初の波括弧の組はフォーマット文字列のあとに並んだ最初の値に対応し、2組目は2番目の値、というように続いていきます。
575
+ 一回の` println! ` の呼び出しで複数の値を表示するなら、次のようになります。
573
576
574
577
``` rust
575
578
let x = 5 ;
@@ -582,7 +585,7 @@ println!("x = {} and y = {}", x, y);
582
585
This code would print `x = 5 and y = 10`.
583
586
-->
584
587
585
- このコードは、 ` x = 5 and y = 10 ` と出力するでしょう.
588
+ このコードは` x = 5 and y = 10 ` と表示するでしょう。
586
589
587
590
<!--
588
591
### Testing the First Part
@@ -594,7 +597,8 @@ This code would print `x = 5 and y = 10`.
594
597
Let’s test the first part of the guessing game. Run it using `cargo run`:
595
598
-->
596
599
597
- 数当てゲームの最初の部分をテストしてみましょう。` cargo run ` でプログラムを走らせてください:
600
+ 数当てゲームの最初の部分をテストしてみましょう。
601
+ ` cargo run ` で走らせてください。
598
602
599
603
600
604
``` console
@@ -613,7 +617,7 @@ At this point, the first part of the game is done: we’re getting input from th
613
617
keyboard and then printing it.
614
618
-->
615
619
616
- ここまでで、ゲームの最初の部分は完成になります: キーボードからの入力を受け付け、出力できています 。
620
+ これで、キーボードからの入力を得て、それを表示するという、ゲームの最初の部分は完成になります 。
617
621
618
622
<!--
619
623
## Generating a Secret Number
@@ -630,13 +634,16 @@ library. However, the Rust team does provide a [`rand` crate][randcrate] with
630
634
said functionality.
631
635
-->
632
636
633
- 次に、ユーザが数当てに挑戦する秘密の数字を生成する必要があります。毎回この秘密の数字は、変わるべきです。
634
- ゲームが何回も楽しめるようにですね。ゲームが難しくなりすぎないように、1から100までの乱数を使用しましょう。
635
- Rustの標準ライブラリには、乱数機能はまだ含まれていません。ですが、実は、
636
- Rustの開発チームが[ ` rand ` クレート] [ randcrate ] を用意してくれています。
637
+ 次に、ユーザが数当てに挑戦する秘密の数字を生成する必要があります。
638
+ この数字を毎回変えることで何度やっても楽しいゲームになります。
639
+ ゲームが難しくなりすぎないように1から100までの乱数を使用しましょう。
640
+ Rustの標準ライブラリには、まだ乱数の機能は含まれていません。
641
+ ですが、Rustの開発チームがこの機能を持つ[ ` rand ` クレート] [ randcrate ] を提供してくれています。
637
642
638
643
[ randcrate ] : https://crates.io/crates/rand
639
644
645
+ <!-- ここまで翻訳済み -->
646
+
640
647
<!--
641
648
### Using a Crate to Get More Functionality
642
649
-->
0 commit comments