使用宏迭代器语法创建向量
如何使用迭代器 Rust 宏语法创建新向量?
我正在尝试这样做:
unsafe {
MUT_STATIC_VAR = vec![
#(#my_outher_vector_data)*,
];
}
完整的解释:我正在尝试重新分配我在类型为:Vec 的一个 mut static var 中编写的数据,当宏在编译时跨越时。当我尝试在运行时检索数据时,全局数据是空的,因此我在 main()
中重新连接我想要的数据。
回顾一下。我只想将一个向量的内容分配给另一个向量,但 array
或 Vec
都没有实现 ToTokens
。
编译错误:
`main` function not found in crate `my_crate`
谢谢
How can I create a new vector with the iterator Rust macro syntax?
I am trying this:
unsafe {
MUT_STATIC_VAR = vec![
#(#my_outher_vector_data)*,
];
}
Full explanation: I am trying to reasign data that I write in one mut static var of type: Vec when the macro it's spanded at compile time. When I try to retrieve the data at runtime, the global it's empty, so I am rewiring the data that I want in main()
.
Recap. I am just want to assign the content of one vector to another, but neither array
or Vec<T>
implements ToTokens
.
Compiler error:
`main` function not found in crate `my_crate`
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为
lazy_static
应该完成这项工作:...或在初始化
MUT_STATIC_VAR
后耗尽其他 vec:...或
my_other_vector_data
包裹在other_vec!< /代码> 宏:
游乐场
I think
lazy_static
should do the job:…or draining the other vec after initializing
MUT_STATIC_VAR
:…or
my_other_vector_data
wrapped inother_vec!
macro:Playground
要初始化内容,
迭代器
可以使用宏#(#...)*,
语法。To initialize the content,
Iterators
are able to use macro#(#...)*,
syntax.