问题标签 [rust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
199 浏览

rust - 几个具有共享状态的托管闭包?

我正在尝试为 Expat XML 解析器实现 Rust 包装器。我包装了 start_element 和 end_element 回调,它们在简单的情况下工作正常(例如,只计算 XML 元素)如下:

我可以将简单的托管闭包传递给 handlers() 并让它们更新 @mut uint 值。

现在我想跨回调维护当前的 XPath 并且遇到问题:

编译器说唯一向量 xpath 已移入 xpath_start_handler 闭包,无法在 xpath_end_closure 中访问。

所以我的问题是在许多托管闭包中保持可变状态的最佳方法是什么?

0 投票
1 回答
3194 浏览

rust - 我们可以创建自定义 Rust 运算符吗?

我知道我们可以实现覆盖标准算术运算符的特征。我们还可以创建自己的特征来重载自定义运算符吗?我开始真正享受 Haskell 定义运算符的系统。

0 投票
1 回答
190 浏览

rust - 泛型和特征错误

我正在使用一些 Rust Traits 和 Generics 来熟悉该语言。

我用上面的代码得到了以下错误。

C:\Users\mflamer\Dropbox\Rust Projects\Tests\rust.rs:27:8: 27:13 错误:移出不可变和指针的取消引用 C:\Users\mflamer\Dropbox\Rust Projects\Tests\rust .rs:27 匹配 *self

如果没有特征上的泛型,它就可以很好地构建。这里发生了什么?

编辑:如果我将代码更改为此它可以工作。不知道为什么。

0 投票
3 回答
6670 浏览

rust - 创建具有非常量长度的向量

编者注:这个问题是在 Rust 1.0 之前提出的,并且问题中的一些断言在 Rust 1.0 中不一定正确。一些答案已更新以解决这两个版本。

我想创建一个向量,但我只知道我希望向量在运行时的大小。这就是我现在的做法(即创建一个空的、可变的向量,并向其中添加向量):

这就是我想做的事情(即,创建一个向量并将所有内容放入其中,而不是将大量向量添加在一起):

不幸的是,执行上述操作给了我类似的东西:

我得到的印象是向量必须在编译时知道它们的大小(因此您需要将它们的大小设置为常数)。来自Java背景,我很困惑!有没有办法创建一个只有在运行时才知道大小的向量?

我正在使用 Rust 0.6。

0 投票
1 回答
611 浏览

rust - rust: 为 fmt 定义一个 ToStr

我想fmt!("%?", obj)在我的对象上调用一个方法来格式化结果。我尝试实现ToStrandRepr特征,但似乎都不起作用。这是我的测试代码:

它打印:

我希望它打印:

我正在使用 Rust 0.6。

0 投票
1 回答
574 浏览

rust - Rust 中指向状态 + 回调的唯一指针

我正在尝试将结构中的状态与改变状态的回调捆绑在一起。当我使用托管指针时它工作正常:

接下来,我想将此结构发送到另一个任务,因此必须在各处切换到唯一指针。我无法做到这一点:“错误:过时的语法:常量或可变拥有的指针”

有什么建议么?跨任务发送回调的更好方法?

0 投票
1 回答
9723 浏览

arrays - Rust 中的类型转换数组/向量

在 Rust 中将一种类型的数组或向量转换为另一种类型的惯用方法是什么?想要的效果是

但我不确定是否可以以更简洁的方式实现相同的效果,类似于标量类型转换。

我似乎无法在 Rust 手册或参考资料中找到线索。TIA。

0 投票
1 回答
1305 浏览

rust - 另一个 rust 泛型练习

我正在尝试在 Rust 中实现类似 Monad 的特性。主要是为了好玩和熟悉类型系统。我很确定我将无法完全实现 Monad 特征,因为缺少“更高的种类”,正如reddit 讨论中所解释的那样,但我想看看我能做到多近。由于某种原因,我无法编译此代码。似乎应该如此。有人可以解释为什么吗?

0 投票
1 回答
506 浏览

rust - 拥有指向特征的指针

为什么以下失败以及如何存储指向特征的拥有指针?

错误:不匹配的类型:预期~main::test02::Trait但找到~main::test02::Struct(预期特征benchmark::test02::Trait但找到~-ptr

0 投票
1 回答
759 浏览

rust - 锈“extern mod std;” 失败

我开始了“rubyists 生锈”教程,这段代码让我大吃一惊:

尝试编译它给了我:

我正在使用 rustc 0.6。我不确定它应该做什么,所以任何人都可以给我一些见解吗?谢谢!