質問編集履歴

2

一部解法

2020/03/30 10:30

投稿

namuyan
namuyan

スコア76

test CHANGED
File without changes
test CHANGED
@@ -121,3 +121,73 @@
121
121
  PyO3のドキュメントを読んでいますがどうすればいいのかわかりません。
122
122
 
123
123
  何かわかる方は回答の方をよろしくお願いします。
124
+
125
+
126
+
127
+ 追記 2020/3/30 19時
128
+
129
+ ---
130
+
131
+ [前回の質問](https://teratail.com/questions/249003) を見直してこねくり回していたら同じオブジェクトを格納できたようです。しかし今度は格納したオブジェクトの操作方法がわかりません。extractして`PyRef`や`PyRefMut`でラップした型を借りると思うのですが。
132
+
133
+
134
+
135
+ ```rust
136
+
137
+ #[pyclass]
138
+
139
+ stract Inner {
140
+
141
+ a: u32
142
+
143
+ }
144
+
145
+
146
+
147
+ #[pyclass]
148
+
149
+ stract Outer {
150
+
151
+ inner: Py<Inner>
152
+
153
+ }
154
+
155
+
156
+
157
+ #[pymethods]
158
+
159
+ impl Outer {
160
+
161
+ #[new]
162
+
163
+ fn new(inner: &PyCell<Inner>) -> PyResut<Self> {
164
+
165
+ let inner = inner.into();
166
+
167
+ Ok(Outer{inner})
168
+
169
+ }
170
+
171
+
172
+
173
+
174
+
175
+ fn obj(&self, py: Python) -> PyObject {
176
+
177
+ self.inner.to_object(py)
178
+
179
+ }
180
+
181
+
182
+
183
+ fn get(&self) -> u32 {
184
+
185
+ // not work
186
+
187
+ self.inner.a
188
+
189
+ }
190
+
191
+ }
192
+
193
+ ```

1

test_class_conversion.rs

2020/03/30 10:30

投稿

namuyan
namuyan

スコア76

test CHANGED
File without changes
test CHANGED
@@ -110,6 +110,14 @@
110
110
 
111
111
 
112
112
 
113
+ 参考になりそうなもの
114
+
115
+ ---
116
+
117
+ * [/tests/test_class_conversion.rs](https://github.com/PyO3/pyo3/blob/master/tests/test_class_conversion.rs)
118
+
119
+
120
+
113
121
  PyO3のドキュメントを読んでいますがどうすればいいのかわかりません。
114
122
 
115
123
  何かわかる方は回答の方をよろしくお願いします。