rust

    8热度

    1回答

    作为测试的一部分,我想断言函数返回一个具有适当内容的向量。因此,我将预期的数据作为静态变量提供。但是,我无法找到一种比较托管向量与静态向量变量的正确方法。 #[test] fn test_my_data_matches_expected_data() { static expected_data: [u8, ..3] = [1, 2, 3]; let my_data: ~[u

    16热度

    2回答

    为什么Rust编程语言被称为“Rust”? 是否有任何有关谁命名它的知识?为什么? (我很难得出正面的关联)。

    51热度

    2回答

    生锈,引用不能为空,所以在情况下,你确实需要空,如链接列表,您可以使用Option类型: struct Element { value: i32, next: Option<Box<Element>>, } 多少开销参与这一在内存方面分配和步骤解引用相比,一个简单的指针?在编译器/运行库中有没有一些“魔力”可以使得Option免费,或者比使用相同enum构造的非核心库本身

    3热度

    4回答

    编者按:本代码示例来自1.0版之前的Rust版本,并且不具有语法上有效的Rust 1.0代码。此代码的更新版本会产生不同的错误,但答案仍然包含有价值的信息。 我尝试这个代码在锈0.6: fn test<'r>(xs: &'r [&str]) -> &'r str { return xs[0]; } 我认为这种类型的签名是指:“测试需要借来指针,具有寿命“R,以借指向字符串的载体,和

    0热度

    1回答

    我试图捆绑状态的结构与变异状态回调在一起。 struct StateAndCallbacks01 { state: @mut int, inc: @fn(), dec: @fn() } let state01: @mut int = @mut 0; let inc01: @fn() = || { *state01 += 1; }; let dec

    10热度

    1回答

    在Rust中将一种类型的数组或向量转换为另一种类型的惯用方式是什么?所需的效果是 let x = ~[0 as int, 1 as int, 2 as int]; let y = vec::map(x, |&e| { e as uint }); ,但我不知道是否相同可以用更简洁时尚,类似于标量类型强制转换来实现。 我似乎无法找到锈手册或参考中的线索。 TIA。

    7热度

    1回答

    我正试图在Rust中实现一个类似特质的Monad。主要是为了好玩,并熟悉类型系统。我敢肯定,由于缺少如本reddit discussion中所解释的“更高类型”,我无法完全实现Monad特性,但我希望看到我能接近多远。由于某种原因,我不能得到这个代码进行编译。似乎应该。有人能解释为什么吗?谢谢。 trait Monad<T> { fn lift(val: T) -> Self; }

    1热度

    1回答

    为什么以下失败,我如何存储指向特征的拥有指针? trait Trait {}; struct Struct; impl Trait for Struct {}; struct Container { child: ~Trait }; let container = ~Container { child: ~Struct }; 错误:类型不匹配:预计~main::test0

    2热度

    1回答

    我开始“为Ruby开发者锈”的教程和这个代码已经绊倒了我,让 extern mod std; #[test] fn this_tests_code() { println("") } fn main() { } 试图编译这给了我: > rustc testing.rs testing.rs:1:0: 1:0 error: multiple matching crate

    15热度

    1回答

    我需要通过Rust程序中的posix filedescriptor读取由外部进程提供的数据。 fd连接保持很长时间(小时),而另一端不时向我传递数据。所以我需要不断读取和处理数据流。 为此,我编写了一个循环,调用libc::read()(readv实际)来读取数据并在收到时处理它。由于这会阻塞整个调度程序,因此我正在新调度程序中产生一项任务(task::spawn_sched(SingleThre