質問編集履歴

1

エラーメッセージの読み方が間違っていたので修正しました。

2022/03/29 22:47

投稿

akira_kano1101
akira_kano1101

スコア25

test CHANGED
@@ -1 +1 @@
1
- 【Rust】可変参照と不変参照の混ざる処理は、Rubyなら簡単なのにRustではコンパイルエラーになってしまう
1
+ 【Rust】クロージャ(ラムダ)からメソッドを呼び出す処理は、Rubyなら簡単なのにRustではコンパイルエラーになってしまう
test CHANGED
@@ -1,4 +1,7 @@
1
1
  # Rubyなら簡単に動かせるコードがRustでは通らない
2
+
3
+ (エラーメッセージの読み方が間違っていたので修正しました。)
4
+
2
5
  こんにちは。Rustでソフトウェアの開発を行なっています。
3
6
 
4
7
  Rubyならラムダの中でさらに同インスタンスメソッドが呼び出し# (1)および代入# (2)ができます。
@@ -37,7 +40,7 @@
37
40
  ```
38
41
 
39
42
  ## 同様の動作をRustでも実現したい、しかし…
40
- クロージャで同じように同オブジェクトの`&mut`メソッドを呼び出そうと考えました。
43
+ クロージャで同じように同オブジェクトのメソッドを呼び出そうと考えました。
41
44
 
42
45
  しかしこれはうまくいきません。
43
46
 
@@ -101,11 +104,10 @@
101
104
  | |__________- borrow occurs here
102
105
  ```
103
106
 
104
- Rustでは`&`と`&mut`の参照が同時存在できないルールがあるようで
107
+ Rustでは二重借用できないルールがあるようで、コンパイルできませんでした
105
108
 
106
- それでもRubyの書き方が非常に便利なため可能であればこれを何とかして実現したいです。
109
+ Rubyの書き方が非常に便利なため可能であればこれを何とかして実現したいです。
107
110
 
108
111
  もし解決方法をご存じの方いらっしゃれば、恐縮ですが教えていただけないでしょうか。
109
112
 
110
113
  よろしくお願いいたします。
111
-