@@ -234,11 +234,11 @@ <h3><a class="header" href="#開発者チーム" id="開発者チーム">開発
234
234
< p > Rustはまた、現代的な開発ツールをシステムプログラミング世界に導入します。</ p >
235
235
<!--
236
236
* Cargo, the included dependency manager and build tool, makes adding,
237
- compiling, and managing dependencies painless and consistent across the Rust
238
- ecosystem.
237
+ compiling, and managing dependencies painless and consistent across the Rust
238
+ ecosystem.
239
239
* Rustfmt ensures a consistent coding style across developers.
240
240
* The Rust Language Server powers Integrated Development Environment (IDE)
241
- integration for code completion and inline error messages.
241
+ integration for code completion and inline error messages.
242
242
-->
243
243
< ul >
244
244
< li > Cargoは、付属の依存マネージャ兼ビルドツールで、依存を追加、コンパイル、管理することを楽かつ、
@@ -298,13 +298,10 @@ <h3><a class="header" href="#オープンソース開発者" id="オープンソ
298
298
-->
299
299
< h3 > < a class ="header " href ="#スピードと安定性に価値を見出す方 " id ="スピードと安定性に価値を見出す方 "> スピードと安定性に価値を見出す方</ a > </ h3 >
300
300
<!--
301
- 最後から3行目、zero-cost abstractions, higher-level featuresの繋がりがよくわからない。byが両者にかかっているように訳した
302
- -->
303
- <!--
304
301
Rust is for people who crave speed and stability in a language. By speed, we
305
302
mean the speed of the programs that you can create with Rust and the speed at
306
303
which Rust lets you write them. The Rust compiler’s checks ensure stability
307
- through feature additions and refactoring. This is contrast to the brittle
304
+ through feature additions and refactoring. This is in contrast to the brittle
308
305
legacy code in languages without these checks, which developers are often
309
306
afraid to modify. By striving for zero-cost abstractions, higher-level features
310
307
that compile to lower-level code as fast as code written manually, Rust
@@ -319,13 +316,13 @@ <h3><a class="header" href="#スピードと安定性に価値を見出す方" i
319
316
<!--
320
317
The Rust language hopes to support many other users as well; those mentioned
321
318
here are merely some of the biggest stakeholders. Overall, Rust’s greatest
322
- ambition is to eliminate trade-offs that programmers have accepted for
323
- decades: safety *and* productivity, speed *and* ergonomics. Give
324
- Rust a try, and see if its choices work for you.
319
+ ambition is to eliminate the trade-offs that programmers have accepted for
320
+ decades by providing safety *and* productivity, speed *and* ergonomics. Give
321
+ Rust a try and see if its choices work for you.
325
322
-->
326
323
< p > Rust言語は他の多くのユーザのサポートも望んでいます; ここで名前を出した方は、
327
- ただの最大の出資者の一部です。総合すると、Rustの最大の野望は、プログラマが数十年間受け入れてきた代償を排除することです:
328
- つまり、安全性 < em > と </ em > 生産性、 スピード< em > と</ em > エルゴノミクスです 。Rustを試してみて、その選択が自分に合っているか確かめてください。</ p >
324
+ ただの最大の出資者の一部です。総合すると、Rustの最大の野望は、プログラマが数十年間受け入れてきた代償を、安全性 < em > と </ em > 生産性、
325
+ スピード< em > と</ em > エルゴノミクスを提供することで排除することです 。Rustを試してみて、その選択が自分に合っているか確かめてください。</ p >
329
326
<!--
330
327
## Who This Book Is For
331
328
-->
@@ -364,20 +361,20 @@ <h2><a class="header" href="#この本の使い方" id="この本の使い方">
364
361
Rustの一面を学ぶでしょう。プロジェクトの章では、それまでに学んだことを適用して一緒に小さなプログラムを構築します。
365
362
2、12、20章がプロジェクトの章です。つまり、残りは概念の章です。</ p >
366
363
<!--
367
- Chapter 1 explains how to install Rust, how to write a Hello, world! program,
364
+ Chapter 1 explains how to install Rust, how to write a “ Hello, world!” program,
368
365
and how to use Cargo, Rust’s package manager and build tool. Chapter 2 is a
369
- hands-on introduction to the Rust language. We’ll cover concepts at a high
366
+ hands-on introduction to the Rust language. Here we cover concepts at a high
370
367
level, and later chapters will provide additional detail. If you want to get
371
- your hands dirty right away, Chapter 2 is the one for that. At first, you
368
+ your hands dirty right away, Chapter 2 is the place for that. At first, you
372
369
might even want to skip Chapter 3, which covers Rust features similar to those
373
- of other programming language , and head straight to Chapter 4 to learn about
370
+ of other programming languages , and head straight to Chapter 4 to learn about
374
371
Rust’s ownership system. However, if you’re a particularly meticulous learner
375
- who prefers to learn every detail before moving onto the next, you might want
372
+ who prefers to learn every detail before moving on to the next, you might want
376
373
to skip Chapter 2 and go straight to Chapter 3, returning to Chapter 2 when
377
374
you’d like to work on a project applying the details you’ve learned.
378
375
-->
379
- < p > 第1章はRustのインストール方法、Hello, world!プログラムの書き方、Rustのパッケージマネージャ兼、
380
- ビルドツールのCargoの使用方法を説明します。第2章は、Rust言語への実践的な導入です。概念を高度に講義し 、後ほどの章で追加の詳細を提供します。
376
+ < p > 第1章はRustのインストール方法、“ Hello, world!” プログラムの書き方、Rustのパッケージマネージャ兼、
377
+ ビルドツールのCargoの使用方法を説明します。第2章は、Rust言語への実践的な導入です。ここでは概念をざっくりと講義し 、後ほどの章で追加の詳細を提供します。
381
378
今すぐRustの世界に飛び込みたいなら、第2章こそがそのためのものです。第3章は他のプログラミング言語の機能に似たRustの機能を講義していますが、
382
379
最初その3章すら飛ばして、まっすぐに第4章に向かい、Rustの所有権システムについて学びたくなる可能性があります。
383
380
しかしながら、あなたが次に進む前に全ての詳細を学ぶことを好む特別に几帳面な学習者なら、
@@ -402,7 +399,7 @@ <h2><a class="header" href="#この本の使い方" id="この本の使い方">
402
399
<!--
403
400
Chapter 10 digs into generics, traits, and lifetimes, which give you the power
404
401
to define code that applies to multiple types. Chapter 11 is all about testing,
405
- which even with Rust' s safety guarantees is necessary to ensure your program' s
402
+ which even with Rust’ s safety guarantees is necessary to ensure your program’ s
406
403
logic is correct. In Chapter 12, we’ll build our own implementation of a subset
407
404
of functionality from the `grep` command line tool that searches for text
408
405
within files. For this, we’ll use many of the concepts we discussed in the
@@ -433,11 +430,11 @@ <h2><a class="header" href="#この本の使い方" id="この本の使い方">
433
430
<!--
434
431
Chapter 18 is a reference on patterns and pattern matching, which are powerful
435
432
ways of expressing ideas throughout Rust programs. Chapter 19 contains a
436
- smorgasbord of advanced topics of interest, including unsafe Rust and more
437
- about lifetimes, traits, types, functions, and closures.
433
+ smorgasbord of advanced topics of interest, including unsafe Rust, macros, and
434
+ more about lifetimes, traits, types, functions, and closures.
438
435
-->
439
436
< p > 第18章は、パターンとパターンマッチングのリファレンスであり、これらはRustプログラムを通して、
440
- 考えを表現する強力な方法になります。第19章は、unsafe Rustやライフタイム 、トレイト、型、関数、クロージャの詳細を含む、
437
+ 考えを表現する強力な方法になります。第19章は、unsafe Rustやマクロ、ライフタイム 、トレイト、型、関数、クロージャの詳細を含む、
441
438
興味のある高度な話題のスモーガスボード(< code > 訳注</ code > : 日本でいうバイキングのこと)を含みます。</ p >
442
439
<!--
443
440
In Chapter 20, we’ll complete a project in which we’ll implement a low-level
@@ -448,11 +445,13 @@ <h2><a class="header" href="#この本の使い方" id="この本の使い方">
448
445
Finally, some appendixes contain useful information about the language in a
449
446
more reference-like format. Appendix A covers Rust’s keywords, Appendix B
450
447
covers Rust’s operators and symbols, Appendix C covers derivable traits
451
- provided by the standard library, Appendix D covers macros.
448
+ provided by the standard library, Appendix D covers some useful development
449
+ tools, and Appendix E explains Rust editions.
452
450
-->
453
451
< p > 最後に、言語についての有用な情報をよりリファレンスのような形式で含む付録があります。
454
452
付録AはRustのキーワードを講義し、付録Bは、Rustの演算子と記号、付録Cは、
455
- 標準ライブラリが提供する導出可能なトレイト、付録Dはマクロを講義します。</ p >
453
+ 標準ライブラリが提供する導出可能なトレイト、付録Dはいくつか便利な開発ツールを講義し、
454
+ 付録EではRustのエディションについて説明します。</ p >
456
455
<!--
457
456
There is no wrong way to read this book: if you want to skip ahead, go for it!
458
457
You might have to jump back to earlier chapters if you experience any
@@ -461,32 +460,51 @@ <h2><a class="header" href="#この本の使い方" id="この本の使い方">
461
460
< p > この本を読む間違った方法なんてありません: 飛ばしたければ、どうぞご自由に!
462
461
混乱したら、前の章に戻らなければならない可能性もあります。ですが、自分に合った方法でどうぞ。</ p >
463
462
<!--
463
+ <span id="ferris"></span>
464
+ -->
465
+ < p > < span id ="ferris "> </ span > </ p >
466
+ <!--
464
467
An important part of the process of learning Rust is learning how to read the
465
468
error messages the compiler displays: these will guide you toward working code.
466
- As such, we’ll provide many examples of code that doesn ’t compile along with
467
- the error message the compiler will show you in each situation. Know that if
468
- you enter and run a random example, it may not compile! Make sure you read the
469
+ As such, we’ll provide many examples that don ’t compile along with the error
470
+ message the compiler will show you in each situation. Know that if you enter
471
+ and run a random example, it may not compile! Make sure you read the
469
472
surrounding text to see whether the example you’re trying to run is meant to
470
- error. In most situations, we’ll lead you to the correct version of any code
471
- that doesn’t compile.
472
- -->
473
- <!--
474
- NOTE: docs.rust-lang.orgにあるバージョンだとFerrisに関する追記があるが、2nd editionで必要なのか、確認が必要
473
+ error. Ferris will also help you distinguish code that isn’t meant to work:
475
474
-->
476
475
< p > Rustを学ぶ過程で重要な部分は、コンパイラが表示するエラーメッセージを読む方法を学ぶことです:
477
476
それは動くコードへと導いてくれます。そのため、各場面でコンパイラが表示するエラーメッセージとともに、
478
- コンパイルできないコードの例を多く提供します 。適当に例を選んで走らせたら、コンパイルできないかもしれないことを知ってください!
477
+ コンパイルできない例を多く提供します 。適当に例を選んで走らせたら、コンパイルできないかもしれないことを知ってください!
479
478
周りのテキストを読んで実行しようとしている例がエラーになることを意図しているのか確認することを確かめてください。
480
- ほとんどの場合、コンパイルできないあらゆるコードの正しいバージョンへと導きます。</ p >
479
+ フェリスもコードが動作するとは意図されていないコードを見分けるのを手助けしてくれます:</ p >
480
+ <!--
481
+ | Ferris | Meaning |
482
+ |------------------------------------------------------------------------|--------------------------------------------------|
483
+ | <img src="img/ferris/does_not_compile.svg" class="ferris-explain"/> | This code does not compile! |
484
+ | <img src="img/ferris/panics.svg" class="ferris-explain"/> | This code panics! |
485
+ | <img src="img/ferris/unsafe.svg" class="ferris-explain"/> | This code block contains unsafe code. |
486
+ | <img src="img/ferris/not_desired_behavior.svg" class="ferris-explain"/>| This code does not produce the desired behavior. |
487
+ -->
488
+ < table > < thead > < tr > < th > Ferris</ th > < th > Meaning</ th > </ tr > </ thead > < tbody >
489
+ < tr > < td > < img src ="img/ferris/does_not_compile.svg " class ="ferris-explain "/> </ td > < td > このコードはコンパイルできません!</ td > </ tr >
490
+ < tr > < td > < img src ="img/ferris/panics.svg " class ="ferris-explain "/> </ td > < td > このコードはパニックします!</ td > </ tr >
491
+ < tr > < td > < img src ="img/ferris/unsafe.svg " class ="ferris-explain "/> </ td > < td > このコードはアンセーフなコードを含みます。</ td > </ tr >
492
+ < tr > < td > < img src ="img/ferris/not_desired_behavior.svg " class ="ferris-explain "/> </ td > < td > このコードは求められている振る舞いをしません。</ td > </ tr >
493
+ </ tbody > </ table >
494
+ <!--
495
+ In most situations, we’ll lead you to the correct version of any code that
496
+ doesn’t compile.
497
+ -->
498
+ < p > ほとんどの場合、コンパイルできないあらゆるコードの正しいバージョンへと導きます。</ p >
481
499
<!--
482
- ## Source code
500
+ ## Source Code
483
501
-->
484
502
< h2 > < a class ="header " href ="#ソースコード " id ="ソースコード "> ソースコード</ a > </ h2 >
485
503
<!--
486
504
The source files from which this book is generated can be found on
487
505
[GitHub][book].
488
506
-->
489
- < p > この本が生成されるソースファイルは、< a href ="https://github.com/rust-lang/book/tree/master/second-edition/ src "> GitHub</ a > で見つかります。</ p >
507
+ < p > この本が生成されるソースファイルは、< a href ="https://github.com/rust-lang/book/tree/master/src "> GitHub</ a > で見つかります。</ p >
490
508
< blockquote >
491
509
< p > 訳注: 日本語版は< a href ="https://github.com/rust-lang-ja/book-ja "> こちら</ a > です。</ p >
492
510
</ blockquote >
0 commit comments