Skip to content

Commit db56d75

Browse files
authored
Merge pull request #169 from tatsuya6502/drop-1.9
4.20. Drop (1.9)
2 parents 66a52ad + eed4ae9 commit db56d75

File tree

2 files changed

+15
-23
lines changed

2 files changed

+15
-23
lines changed

1.9/ja/book/drop.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<!-- Now that we’ve discussed traits, let’s talk about a particular trait provided -->
55
<!-- by the Rust standard library, [`Drop`][drop]. The `Drop` trait provides a way -->
66
<!-- to run some code when a value goes out of scope. For example: -->
7-
トレイトについて学びましたので、Rustの標準ライブラリによって提供されている具体的なトレイト [`Drop`][drop]について説明しましょう。
8-
`Drop` トレイトは値がスコープ外になった時にコードを実行する方法を提供します:
7+
トレイトについて学びましたので、Rustの標準ライブラリによって提供されている具体的なトレイト [`Drop`][drop] について説明しましょう。
8+
`Drop` トレイトは値がスコープ外になった時にコードを実行する方法を提供します
99

1010
[drop]: ../std/ops/trait.Drop.html
1111

@@ -32,13 +32,15 @@ fn main() {
3232
<!-- run. `Drop` has one method, which is also called `drop()`. It takes a mutable -->
3333
<!-- reference to `self`. -->
3434
`x``main()` の終わりでスコープ外になった時、 `Drop` のコードが実行されます。
35-
`Drop``drop()` と呼ばれるミュータブルな `self` への参照を引数に取るメソッドを持っています。
35+
`Drop` にはメソッドは1つだけあり、それもまた `drop()` と呼ばれます。
36+
ミュータブルな `self` への参照を引数に取ります。
3637

3738
<!-- That’s it! The mechanics of `Drop` are very simple, but there are some -->
3839
<!-- subtleties. For example, values are dropped in the opposite order they are -->
3940
<!-- declared. Here’s another example: -->
40-
これだけです! `Drop` のメカニズムは非常にシンプルです、しかし少しだけ注意すべき点があります。
41-
たとえば、値がドロップされる順序は、それらが定義された順序と反対の順序になります:
41+
これだけです!
42+
`Drop` のメカニズムは非常にシンプルですが、少しばかり注意があります。
43+
たとえば、値がドロップされる順序は、それらが定義された順序と反対の順序になります。
4244

4345
```rust
4446
struct Firework {
@@ -58,25 +60,27 @@ fn main() {
5860
```
5961

6062
<!-- This will output: -->
61-
このコードは以下の様な出力をします:
63+
このコードは以下のように出力します。
6264

6365
```text
6466
BOOM times 100!!!
6567
BOOM times 1!!!
6668
```
6769

68-
<!-- The TNT goes off before the firecracker does, because it was declared -->
70+
<!-- The `tnt` goes off before the `firecracker` does, because it was declared -->
6971
<!-- afterwards. Last in, first out. -->
70-
TNTが爆竹(firecracker)が鳴る前に爆発してしまいました、これはTNTが定義されたのは爆竹よりも後だったことによります。
72+
`tnt``firecracker` (爆竹)が鳴る前に爆発してしまいました。
73+
これはTNTが定義されたのは爆竹よりも後だったためです。
7174
ラストイン・ファーストアウトです。
7275

7376
<!-- So what is `Drop` good for? Generally, `Drop` is used to clean up any resources -->
7477
<!-- associated with a `struct`. For example, the [`Arc<T>` type][arc] is a -->
7578
<!-- reference-counted type. When `Drop` is called, it will decrement the reference -->
7679
<!-- count, and if the total number of references is zero, will clean up the -->
7780
<!-- underlying value. -->
78-
`Drop` は何をするのに適しているのでしょうか?一般的に `Drop``struct` に関連付けられているリソースのクリーンアップに利用されます。
79-
たとえば、 [`Arc<T>`][arc] は参照カウントを行う型です。 `Drop` が呼ばれると、参照カウントがデクリメントされ、
80-
もし参照の合計数が0になっていたら、内包している値がクリーンアップされます。
81+
`Drop` は何をするのに向いているのでしょうか?
82+
一般的に `Drop``struct` に関連付けられているリソースのクリーンアップに使われます。
83+
たとえば [`Arc<T>`][arc] は参照カウントを行う型です。
84+
`Drop` が呼ばれると、参照カウントがデクリメントされ、もし参照の合計数が0になっていたら、内包している値がクリーンアップされます。
8185

8286
[arc]: ../std/sync/struct.Arc.html

diff-1.6.0..1.9.0/src/doc/book/drop.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)