rust 相关问题

Rust是一种用于以简单方式编写高度可靠和快速软件的语言。它可用于从高级代码到特定于硬件的代码,从大型熨斗到小型设备。

从通道读取并使用poll_fn和try_ready的Tokio未来永远不会完成

我有一个永远不会完成的Tokio未来(rx是Receiver,sock是tokio UdpSocket)。它基本上从数据包队列中读取数据包并通过套接字传输它们:poll_fn(move || {...

回答 1 投票 0

如何读取与Rust中的自定义类型关联的枚举值?

我在Rust中有一个实现,如下所示。在main函数中,我正在读取SalaryRange枚举中的值,这将显示High(“So So”)。 //这可以是一个复杂的类型,只需使用字符串...

回答 2 投票 1

当特征需要比结构中包含的更多状态时,如何为结构实现特征?

当特征需要比结构中包含的更多状态时,如何为结构实现特征?例如,我如何实现下面显示的Human结构的Employee特征? ...

回答 1 投票 0

从父模块导入宏[重复]

我在箱子里重复使用宏时遇到了麻烦。如果在./src/macros.rs中定义了一个宏:#[macro_export] macro_rules! my_macro {...}并在./src/lib.rs中使用:#[macro_use] pub mod macros; ...

回答 1 投票 8

将整个宏输入传递给另一个宏

我正在尝试制作一个调用vec的简单宏!无论它收到什么,然后在返回新的向量之前做一些简单的处理:macro_rules! sorted_vec {($ x:expr)=> {...

回答 1 投票 3

如何跨模块文件使用宏?

我在同一个包中的不同文件中有两个模块,其中包括启用了macro_rules。我想在另一个模块中使用一个模块中定义的宏。 // macros.rs#[macro_export] // ...

回答 3 投票 41

如何在宏中允许可选的尾随逗号?

这是我想要的合成例子:macro_rules! define_enum {($ Name:ident {$($ Variant:ident),*})=> {pub enum $ Name {None,$($ Variant),*,} ...

回答 2 投票 15

为什么reqwest不返回此请求中的内容长度?

我很困惑为什么我没有从以下函数中获取任何内容,该函数使用reqwest:fn try_get(){let wc = reqwest :: Client :: new(); wc.get( “https://httpbin.org/json”)....

回答 1 投票 2

是否有一个功能可以将默认名称放在元组中以获得更好的代码完成和建议?

是否有一个功能可以将默认名称放在元组中以获得更好的代码完成和建议?这些名字不是强制性的,只是一个提示。类似于:struct Rect(width:i32,height:i32); ...

回答 1 投票 0

如何通过包含可变引用的引用使用不可变选项?

这是一件事:struct Thing(i32); impl Thing {pub fn increment_self(&mut self){self.0 + = 1; println!(“递增:{}”,self.0);这是一个尝试...的函数

回答 2 投票 1

打印从stdin读取的字符串时如何忽略换行符?

我试着编写一些从stdin读取名称并打印出来的代码。问题是打印变量后立即断行,并打印变量后的字符...

回答 2 投票 2

如何更改Rust中矢量的长度?

编者注:这个问题早于Rust 1.0,语法和方法从那时起就发生了变化。一些答案解释了Rust 1.0。我有一个函数,我想修改一个向量...

回答 2 投票 3

为什么从方法返回一个可变引用会阻止调用任何其他方法,即使引用超出范围?

我想写一个可以存储任何东西的简单键/值存储。我从一个围绕HashMap的小包装器开始:使用std :: any :: {Any,TypeId};使用std :: collections :: HashMap; #[derive(Debug)] struct ...

回答 1 投票 0

len()和capacity()之间有什么区别?

当我创建矢量时,长度和容量是相同的。这些方法有什么区别? fn main(){let vec = vec![1,2,3,4,5]; println!(“Length:{}”,vec.len()); // ...

回答 2 投票 0

将一串数字转换为Rust中的int / Array数组

我在STDIN上写了一串数字(例如“4 10 30 232312”),我想读取并转换为Rust中的int(或向量)数组,找不到正确的方法,到目前为止我有:使用std :: io; fn ......

回答 3 投票 8

如果传递谓词则返回值,否则为默认值

如果谓词失败,如何替换值?为了说明:assert_eq!((3-5).but_if(| v | v <0).then(0),0)我认为选项或结果会有一些东西允许这样,但我......

回答 2 投票 1

铁锈有效地将大块矢量大块放入矢量矢量

我想将一个大的矢量分块为矢量矢量。我知道chunks(),但我不确定从迭代器到2D Vec的最佳方法。我找到了以下工作,但是有...

回答 1 投票 1

我可以只使用类型而不是具体变量来获取Rust数组的长度吗?

我想将以下C ++代码重写为Rust:using storage = array ; const size_t storage_len = sizeof(storage)/ sizeof(storage :: value_type);我怎样才能得到那么长的......

回答 5 投票 1

为什么size_of :: ()不等于其字段大小的总和?

我试着测量一个结构及其字段(Playground)的大小:使用std :: mem; struct MyStruct {foo:u8,bar:char,} println!(“MyStruct:{}”,mem :: size_of :: ());让......

回答 2 投票 3

特质中的'where'子句有什么作用?

如果我有这个代码:trait Trait {fn f(&self) - > i32其中Self:Sized; fn g(&self) - > i32; } fn object_safety_dynamic(x:&Trait){x.f(); //错误x.g(); / ...

回答 2 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.