質問するログイン新規登録

回答編集履歴

1

誤字を修正しました

2021/04/19 14:35

投稿

tatsuya6502
tatsuya6502

スコア2055

answer CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  `Vec`の`into_iter()`で`Vec<_>`の各要素の所有権を取ろうとしています。しかし、`Mutex`に入れたものは普通にアクセスしたのでは所有権が取れません。そのためにエラーになっています。
19
19
 
20
- 一方、`Mutex`に入れたものについて`&`や`&mut`なら簡単に得られます。`.await`は`&mut`を要求するので、それを渡してあげましょう。`Vec`の`into_mut()`を使います。
20
+ 一方、`Mutex`に入れたものについて`&`や`&mut`なら簡単に得られます。`.await`は`&mut`を要求するので、それを渡してあげましょう。`Vec`の`iter_mut()`を使います。
21
21
 
22
22
  ```rust
23
23
  // &mut Vec<_>を得るためにはまずMutexGuardにmutが必要
@@ -82,7 +82,7 @@
82
82
 
83
83
  - → 公式ドキュメント(The Rust Programming Language)の所有権の章([和訳](https://doc.rust-jp.rs/book-ja/ch04-00-understanding-ownership.html))あたりか、Rustの入門書の該当の章をじっくり読んでみる
84
84
 
85
- `Vec`に`into_mut`があることを知らなかった
85
+ `Vec`に`iter_mut`があることを知らなかった
86
86
 
87
87
  - → `Vec`の [リファレンス](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.iter_mut) に何か使えそうなメソッドがないか眺める
88
88
  - → `iter`のモジュールレベルのドキュメントを読んでみる。( [参照をイテレートする方法](https://doc.rust-lang.org/stable/std/iter/index.html#iterating-by-reference) なども書かれており、そこで`iter_mut`が出てくる)