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

質問編集履歴

2

一部解法

2020/03/30 10:30

投稿

namuyan
namuyan

スコア76

title CHANGED
File without changes
body CHANGED
@@ -59,4 +59,39 @@
59
59
  * [/tests/test_class_conversion.rs](https://github.com/PyO3/pyo3/blob/master/tests/test_class_conversion.rs)
60
60
 
61
61
  PyO3のドキュメントを読んでいますがどうすればいいのかわかりません。
62
- 何かわかる方は回答の方をよろしくお願いします。
62
+ 何かわかる方は回答の方をよろしくお願いします。
63
+
64
+ 追記 2020/3/30 19時
65
+ ---
66
+ [前回の質問](https://teratail.com/questions/249003) を見直してこねくり回していたら同じオブジェクトを格納できたようです。しかし今度は格納したオブジェクトの操作方法がわかりません。extractして`PyRef`や`PyRefMut`でラップした型を借りると思うのですが。
67
+
68
+ ```rust
69
+ #[pyclass]
70
+ stract Inner {
71
+ a: u32
72
+ }
73
+
74
+ #[pyclass]
75
+ stract Outer {
76
+ inner: Py<Inner>
77
+ }
78
+
79
+ #[pymethods]
80
+ impl Outer {
81
+ #[new]
82
+ fn new(inner: &PyCell<Inner>) -> PyResut<Self> {
83
+ let inner = inner.into();
84
+ Ok(Outer{inner})
85
+ }
86
+
87
+
88
+ fn obj(&self, py: Python) -> PyObject {
89
+ self.inner.to_object(py)
90
+ }
91
+
92
+ fn get(&self) -> u32 {
93
+ // not work
94
+ self.inner.a
95
+ }
96
+ }
97
+ ```

1

test_class_conversion.rs

2020/03/30 10:30

投稿

namuyan
namuyan

スコア76

title CHANGED
File without changes
body CHANGED
@@ -54,5 +54,9 @@
54
54
  }
55
55
  ```
56
56
 
57
+ 参考になりそうなもの
58
+ ---
59
+ * [/tests/test_class_conversion.rs](https://github.com/PyO3/pyo3/blob/master/tests/test_class_conversion.rs)
60
+
57
61
  PyO3のドキュメントを読んでいますがどうすればいいのかわかりません。
58
62
  何かわかる方は回答の方をよろしくお願いします。