rust 相关问题

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

在 if/else 块中设置的变量在随后打印时显示“在此范围内找不到”

fn gronsfeld_cipher(数据: &str, 键: &[i32], 空格: char, 解码: bool) -> String { 让字母表 = String::from("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); 让数据 = data.to_uppe...

回答 1 投票 0

我需要在 Rust 中的关联类型中使用关联常量

我想创建一个特征来定义一个常量 LEN 和一个长度为 LEN 的数组作为特征函数的输出类型,但我不允许: 特征 TransformIntoArray { const LEN:使用;

回答 1 投票 0

如何跨线程使用`Vec<&'a dyn Trait>`(特征对象引用的集合)?

我正在尝试跨线程使用Vec<&'a dyn Trait>(对特征对象的引用的集合)。这是我的代码,我认为它的注释是不言自明的: 使用标准::{ 是...

回答 2 投票 0

如何在 Rust 中执行不安全的 drop()

我需要在 Rust 中执行不安全的 drop() 。 我希望能够写出相当于: 对象.set_value(&value); 下降(值); ...更多与对象有关的东西... 即使

回答 1 投票 0

使用 Itertools 按字符串中出现的次数对字符进行分组

我有两种方法根据字符串中出现的次数对字符进行分组。其中之一是使用 std::collections::HashMap,第二个是使用 itertools::Itertools::group_by。

回答 3 投票 0

使用 html5ever 遍历 DOM 树时替换元素

背景 我需要查找并替换html片段中的一些标签,例如,replace 世界你好 和 背景 我需要查找并替换html片段中的一些标签,例如replace <div class="not-replaced"> <i18n>Hello World</i18n> </div> 与 <div class="not-replaced"> <span class="i18n" data-location="/index.html:$/i18n">Hello World</span> </div> 到目前为止我做了什么 我试图通过html5ever和markup5ever_rcdom来实现这一点,我想我需要一个递归函数来遍历节点树,但我无法想出一个有效的函数,即创建新节点的函数的签名元素是 RcDom::create_element(&mut self),所以我的递归函数需要两个参数: dom: &mut RcDom 或 mut dom: RcDom 使用 创建新元素 node: Rc<Node> 穿越 这很困难,因为我无法传递像self.traverse(&mut dom, dom.document)这样的论点。 到目前为止我能找到的唯一有效签名是fn traverse(&self, dom: &RcDom, node: &Rc<Node>),但它没有用,因为dom不可变,我无法在其上调用create_element。 这是我现在拥有的代码: fn expand_macro(&mut self) { let mut html = File::open("index.html").unwrap(); let mut dom = html5ever::parse_fragment( RcDom::default(), html5ever::ParseOpts::default(), QualName::new(None, ns!(html), local_name!("div")), vec![], ) .from_utf8() .read_from(&mut html) .unwrap(); self.traverse(&mut dom, dom.document); } fn traverse(&mut self, dom: &mut RcDom, node: Rc<Node>) { } 我需要什么 如何重写代码,这样我就可以访问 &mut RcDom 和 Rc<Node> 来遍历。 或其他一些建议来实现我在背景中描述的相同目标。 谢谢,非常感谢您的帮助! 这可以看作是一个“迭代时修改”的问题,我的解决方案是: 收集第一次迭代中需要处理的所有元素, 然后在第二次迭代中应用这些更改 代码片段如下所示: pub struct HtmlMacro { pub location: String, pub parent_node: Rc<Node>, pub index: usize, pub text: String, } fn expand_macro_html(source: String, source_path: &Path) -> String { // parse dom let mut dom = html5ever::parse_fragment(/* options */) .from_utf8() .one(source.as_bytes()); // the first iteration only needs a readonly reference to dom // collect_html_macros(dom: &RcDom, file_path: &Path) -> Vec<HtmlMacro> let macros = collect_html_macros(&dom, source_path); // the second iteration has a mutable reference to dom // expand macros for m in macros { let mut children = m.parent_node.children.borrow_mut(); let expanded_macro = dom.create_element(/* new element */); children[m.index] = expanded_macro; } // serialize // return serialized document }

回答 1 投票 0

在 rust wgpu 中绑定存储缓冲区

我正在学习 rust wgpu。到目前为止,我可以将统一数据发送到着色器。现在我想将存储缓冲区发送到着色器。但我收到以下错误: [错误 wgpu::backend::wgpu_core] 处理 w...

回答 1 投票 0

“流”消息从 Rust 到 javascript

我想为日志创建实现一个记录器,它允许我将消息流式传输/异步发布到JavaScript,以便将它们显示给用户。 目前,我有一个非常简单的...

回答 1 投票 0

rust 中的可变所有权

我是新的 Rust 语言。我试图理解所有权和借用的概念。 让 mut s = String::from("hello"); { s.push_str("世界"); 让 mut r1 = &mu...

回答 1 投票 0

实现 Index 特征以返回非引用的值

我有一个简单的结构,我想为其实现索引,但作为 Rust 的新手,我在借用检查器方面遇到了许多麻烦。 我的结构非常简单,我想要它......

回答 3 投票 0

Rust 中另一个宏规则定义的内部宏规则中是否可以有重复?

我想编写一个宏来定义带有属性的枚举的宏,如下所示: 宏规则!定义枚举定义器{ { $($variant: ident => $t: ty,)+ } => { 宏观...

回答 1 投票 0

在 Rust 中使用 SIMD 执行矩阵乘积时出现访问冲突

我正在为我的 opengl 项目制作自己的 linalg 库,并且正在考虑使用 simd 加速 matmul。 最小可重现示例: 使用 std::arch::x86_64::*; #[导出(调试、克隆、复制)] 圣...

回答 1 投票 0

在 Rust 中使用 SIMD 执行矩阵生成时出现访问冲突

我正在为我的 opengl 项目制作自己的 linalg 库,并且正在考虑使用 simd 加速 matmul。 最小可重现示例: 使用 std::arch::x86_64::*; #[导出(调试、克隆、复制)] 圣...

回答 1 投票 0

如何构造 Rust 对象的类型以在线程之间共享

我正在编写一个具有两个线程的应用程序:UI 线程和计算线程。我希望它们共享 T 类型的缓冲区向量。由于它是 90% 的读取,我选择使用 ArcSwap

回答 1 投票 0

如何在 VSCode 中导航到 Rust 源?

我有这样的代码: #[导出(调试)] 结构矩形{ 宽度:u32, 身高:u32, } ...我想深入研究调试源。 在 IntelliJ IDEA 中,我将光标放在“调试”和

回答 1 投票 0

我应该如何将 Postgres 箱中的 Vec<Row> 解析为 Rust 中的 Vec<String>?

我正在构建一个 tauri 应用程序,其中一些 SQL 查询将来自前端,而 rust 后端必须执行该查询。 我正在使用 postgres crate 来处理数据库查询。 运行查询

回答 1 投票 0

如何在Android上正确使用Tauri资源文件

我目前正在尝试使用访问字体资源文件所需的 tauri 编写一个 Android 应用程序。 我将这些文件添加到字体文件夹中的 src-tauri 目录中。 在我的 tauri.conf.json 中...

回答 1 投票 0

如何分配 DST 结构体

我正在尝试分配夏令时,但我开始注意到一个问题。 allocate_zeroed 函数返回一个 [u8],它是一个具有整个结构大小的胖指针。我正在把它投射到一个胖点...

回答 1 投票 0

是否可以从打开的文件对象中获取路径?

假设我打开了一个 std::fs::File 实例。有没有办法通过内部方法访问该文件的完整路径? std::fs::Metadata 似乎没有此信息。我问...

回答 1 投票 0

是否可以从 Rust 中打开的文件对象获取路径?

假设我打开了一个 std::fs::File 实例。有没有办法通过内部方法访问该文件的完整路径? std::fs::Metadata 似乎没有此信息。我问...

回答 1 投票 0

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