小编Bru*_*uce的帖子

你如何将 ac# 抽象类映射到 Rust?

可能是一个措辞不佳的问题,但这里有一个例子:

给定这些结构;

pub struct Poll {
    _lat: f64,
    _lon: f64,
    _at: i64,
    _heading: f64,
    _speed: f64,
}

pub struct Waypoint {
    _lat: f64,
    _lon: f64,
}
Run Code Online (Sandbox Code Playgroud)

以及这个特质;

pub trait CoordMeasure {
    fn dist_to(&self, other: &Self ) -> f64;
}
Run Code Online (Sandbox Code Playgroud)

如何避免像我所做的那样复制此代码?

impl CoordMeasure for Poll {
    fn dist_to(&self, other: &Poll) -> f64 {
        super::core::distance(self, other)
    }
}

impl CoordMeasure for Waypoint {
    fn dist_to(&self, other: &Waypoint) -> f64 {
        super::core::distance(self, other)
    }
}
Run Code Online (Sandbox Code Playgroud)

我有两次调用相同的函数距离。

pub fn distance<T: Coord>(a: &T, b: &T …
Run Code Online (Sandbox Code Playgroud)

c# traits rust

5
推荐指数
1
解决办法
1374
查看次数

像 Option&lt;T&gt; 这样的东西有 Rust 变量命名约定吗?

在以下情况下是否有变量命名约定?我发现自己必须有两个名字,一个是可选的,一个是未包装的。

let user = match optional_user {
    Some(u) => {
        u
    }
    None => {
        new("guest", "guest").unwrap()
    }
};
Run Code Online (Sandbox Code Playgroud)

convention variables rust

5
推荐指数
1
解决办法
957
查看次数

如何从 TcpStream 中逐行读取?

我正在关注夜间文档中的制作一个简单的 TCP 服务器示例。我已经通过 telnet 连接,我希望看到逐行发送的数据。现在我read_to_string只有在关闭 telnet 连接时才能获取数据。我希望能够在 telnet 会话中的用户点击输入后读取服务器上的每一行。

tcp stream rust

3
推荐指数
1
解决办法
1706
查看次数

Rust:如何将 Option&lt;trait&gt; 作为函数参数传递?

我不断收到“未实施调整大小”。如何让 wp 进入函数 foo?我认为拳击会给它一个大小,但无论有没有它,我都会得到同样的错误。

fn main() {
    let wp : Option<Waypoint>= new(45.1968, -75.1968);
    foo(box wp);
}

fn foo(wp: Box<Option<Coord>>) {
    println!("lat: {}, lon:{}", wp.lat(), wp.lon());
}
Run Code Online (Sandbox Code Playgroud)

完整代码

boxing arguments traits rust

2
推荐指数
1
解决办法
2339
查看次数

如何将我的一个Rust结构的实例声明为static?

如何将我自己的一个结构的实例声明为静态?此示例无法编译:

static SERVER: Server<'static> = Server::new();

fn main() {
    SERVER.start("127.0.0.1", 23);
}
Run Code Online (Sandbox Code Playgroud)

static struct rust

2
推荐指数
1
解决办法
6880
查看次数

我怎么能告诉默认包含Rust std lib的哪些模块?

例如

如果我想要stdin()我需要:

use std::io;
Run Code Online (Sandbox Code Playgroud)

如果我想x.cos(),其中x是,例如,f64:

use std::num::FloatMath
Run Code Online (Sandbox Code Playgroud)

不需要.

我磕磕绊绊地发现了这一点.是否有更正式的信息来源?

standard-library rust

1
推荐指数
1
解决办法
109
查看次数

你如何设置Rust特性的寿命?

我可以在struct Route中设置Waypoint的生命周期.在结构AMoreDifferentRoute中,我使用特征Coord并获取错误

显式生命周期限制

在这种情况下,如何设置特征的生命周期?

extern crate collections;
use super::wp;
use coord::Coord;


pub struct Route<'a> {
    waypoints: &'a Vec<wp::Waypoint>
}

pub struct AMoreDifferentRoute<'a> {
    waypoints: &'a Vec<Coord>
}
Run Code Online (Sandbox Code Playgroud)

traits rust

1
推荐指数
1
解决办法
1796
查看次数