开发者社区> 问答> 正文

Rust-Pyo3:从另一个#[pyclass]对象引用一个#[pyclass]对象

我试图在Rust中实现一个类似于结构图的结构,使用Pyo3将其暴露给Python。 假设我有以下变量和图形类型:

#[pyclass]
struct PyVariable {
   var: Variable
}
#[pymethods]
impl PyVariable {
    #[new]
    pub fn new(obj: &PyRawObject) {        
        obj.init({
            PyVariable {
               var: Variable {}   
            }),            
        });
    }
}
#[pyclass]
struct PyGraph {
   graph: Graph
}
#[pymethods]
impl PyGraph {
    #[new]
    pub fn new(obj: &PyRawObject) {        
        obj.init({
            PyGraph {
               graph: Graph::new() 
            }),            
        });
    }

    pub fn add_variable(&mut self, py_var: &mut PyVariable) {
        self.graph.add_variable(py_var.var);

        ///here I would like to give the PyVariable a reference to the PyGraph
    }
}

我希望使用它的用户创建一个PyGraph,创建一个PyVariable,并将该变量添加到图中。 此时,我希望在PyVariable中存储对PyGraph的引用(Py ?),以便该变量知道它所指向的图(稍后我可以通过PyVariable直接访问图中该变量的属性)。 这可能吗?非常感谢你的回答。 问题来源StackOverflow 地址:/questions/59467274/rust-pyo3-reference-a-pyclass-object-from-another-pyclass-object

展开
收起
kun坤 2019-12-25 09:30:16 728 0
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载