我是一个 Rust 新手,试图通过玩它来找出语言。我在尝试从函数返回数组时遇到了一些问题:
struct Widget {
thingies: ~[int]
}
impl Widget {
fn new() -> Widget {
Widget { thingies: ~[4, 8, 15, 16, 23, 42] }
}
fn somethings(&self) -> ~[int] {
self.thingies
}
}
fn main() {
let widget = Widget::new();
let wotsits = widget.somethings();
}
这当然会因以下错误而导致编译失败:
pointers.rs:11:8: 11:21 error: cannot move out of dereference of & pointer
pointers.rs:11 self.thingies
如果此代码示例看起来不正确,我要做的就是从已实现的结构中拉出一个数组。借来的指针并不重要,这只是我试图存储数据的方式。
关于如何正确提取我的数组的任何提示?
顺便说一句,我正在使用 Rust 0.8