Rust
文章平均质量分 78
Mr_Vague
这个作者很懒,什么都没留下…
展开
-
使用 ktra 搭建私人 Cargo registry
使用 ktra 搭建私人 Cargo registry原创 2023-03-25 15:22:57 · 1230 阅读 · 0 评论 -
【Rust】`+=` 运算符与 MIR 应用
利用 MIR 探索 Rust 的 `+=` 运算符原创 2023-01-30 16:36:59 · 902 阅读 · 0 评论 -
临时引用的静态生命周期提升
临时引用的静态生命周期提升原创 2022-07-23 00:50:32 · 442 阅读 · 0 评论 -
Rust:“变长参数”函数与回调
Mdbook 版:https://zjp-cn.github.io/rust-note/dcl/variadic.html前言Rust 中,“变长参数” (variadic) 总是离不开宏这个话题:众所周知,Rust 的宏有三个主要功能减少样板代码自定义语法 (DSL)变长参数接口作为静态语言的 Rust,函数参数的个数在声明时已经被固定,也不可能传入不同个数的参数。但我们真的无法针对函数设计出“变长参数”吗?背景首先,明确我们需要什么1。下面是一个略为复杂的 API 设计:me.原创 2022-05-26 23:41:39 · 1761 阅读 · 0 评论 -
【Rust】针对常量泛型参数的分类实现
mdbook 版:https://zjp-cn.github.io/rust-note/forum/impl-const-param.html问题const 在 Rust 中是一个关键字,而且总是围绕着常量表达式 (constant expressions) 和编译期求值等话题。而论及泛型参数 (generic parameters),我们总是想到 trait bounds和生命周期。或者有时候,我们完全没注意到“泛型参数”这个描述。我们知道,函数参数是列在函数名之后的 (...) 内的部分,.原创 2022-05-02 00:44:44 · 1175 阅读 · 0 评论 -
【Rust】从同质形式的 variants 中获取同类型的数据
本文内容整理自:https://users.rust-lang.org/t/generic-referencing-enum-inner-data/66342同质形式的 variants如果你定义一个这样的枚举体:#[derive(Debug)]enum Foo { Bar(u32), Bink(u32),}这是一种 data-carrying 的枚举体,而且它特殊在:variants 中携带你所关心的 u32 类型的数据;这个类型位于 tuple variant 在.转载 2021-10-26 23:49:26 · 519 阅读 · 0 评论 -
【Rust】argh:基于 derive 宏且对二进制体积进行优化的命令行解析工具
Derive-based argument parsing optimized for code size and conformance to the Fuchsia commandline tools specification.基于 derive 宏的参数解析工具,针对代码大小进行了优化,并且遵循 Fuchsia 命令行工具规范。repo:https://github.com/google/argh由 Google 开发者编写,但并非 Google 官方支持。过程宏-参数类型:swit.原创 2021-09-03 19:06:27 · 558 阅读 · 0 评论 -
Rust tokio 如何以异步非阻塞方式运行大量任务
tokio 官方给了一个完整的例子:手动构建 runtime ,利用 block_on 来运行多个任务。tokio 的任务是由 tokio::spawn 之类的函数产生的 JoinHandle 类型,而且是个 Future 。而下面利用 #[tokio::main] 和 await 编写了等价的版本(为了直观对比任务完成的实际顺序和总耗时,我对 sleep 的时间做了一些简化):use std::time::Instant;use tokio::time::{sleep, Duration};#原创 2021-08-31 20:31:39 · 2068 阅读 · 0 评论 -
【译文】Rust Slice Pattern:切片模式
原文:Slice Patterns (by MICHAEL-F-BRYAN)译者注:这是一篇结合切片和模式匹配的范例,它运用了 Rust Book: Patterns and Matching 篇章的知识。Rust 的类型系统和模式匹配相辅相成,呈现出简洁而强大、抽象而具体的表达力。Rust 1.26 引入了一个漂亮的小功能,称为 Basic Slice Patterns (基础切片模式),它可以让你在 已知长度的切片上 进行模式匹配。后来在 Rust 1.42 中 ,这被扩展为允许使用 .. 语法翻译 2021-08-18 16:06:51 · 234 阅读 · 0 评论 -
【leetcode-37 解数独 | Rust 】3 种回溯、4种数据结构共 12 种方式对比
代码:_0037_sudoku_solver.rs// 测试结果仅供参考:// solve_sudoku_arrs_record: 122,181 ns/iter (+/- 7,597)// solve_sudoku_arr_record: 126,718 ns/iter (+/- 4,754)// solve_sudoku_arrs_simple: 127,047 ns/iter (+/- 5,597)// solve_sudoku_bit_simple:原创 2021-07-20 18:57:04 · 233 阅读 · 0 评论 -
Rust:binary_search 系易错的案例代码
在 playground 中运行有时候需要慎重选择 true 还是 false 。#[derive(Debug)]struct User { id: u32, pid: u32, name: String,}fn set_up_option() -> Vec<Option<User>> { // 注意修改了顺序 vec![Some(User { id: 0, pid: 1,原创 2021-07-08 17:46:44 · 402 阅读 · 0 评论 -
Rust:资料搜集
优先在语雀上同步:https://www.yuque.com/zhoujiping/programming/rust-materials合辑❤❤ 官方教程(入门到进阶、最基础而全面):https://www.rust-lang.org/zh-CN/learn★ the book: 英文原版 | 官方中文版 | KaiserY 中文翻译版 | learnku 中文翻译版官方资讯动态公告:https://blog.rust-lang.org/周报:https://this-week-in-rust原创 2021-06-30 23:32:14 · 1183 阅读 · 0 评论 -
Rust:vim 环境配置
前言前段时间发现一篇 2021 年用什么 IDE 开发 Rust ?文章,梳理了大部分 IDE。我最感兴趣的是这张图:https://areweideyet.com/(Rust 的特色口号:Are we xx yet?)这个网站推荐了一些 Vim / Neovim 的重要插件。仔细一看,截止 2019-07-15???? 有些 IDE 和插件的介绍也都四五年前了 : (anyway 想找个深度体验+完整介绍的最新文章没找到。索性自己尝试和记录。比如图里面罗列的功能出自哪个插件、哪个插件提供的哪个原创 2021-06-30 23:42:18 · 8795 阅读 · 4 评论 -
从 gussing game 的联想:print! 与终端输入
文章目录gussing gameprint 和 stdin 不在同一行显示解决方式1:flush 手动刷新解决方法2:`dialoguer` 终端对话利器gussing game猜数字游戏:产生 0-100 随机整数,由用户输入,提示输入值相比于随机数的大小,从而使用户猜对。use rand::Rng;use std::cmp::Ordering;use std::io;fn main() { println!("Guess the number!"); // 注意 gen_原创 2021-03-22 13:54:26 · 272 阅读 · 1 评论 -
解决 servo-fontconfig-sys 报错 freetype2 not found
安装 servo-fontconfig-sys (一个 rust 库)时发现 freetype2 未安装:configure: error: Package requirements (freetype2) were not met:No package 'freetype2' found使用以下命令安装:sudo apt install libfreetype-dev libfreetype6-dev...原创 2021-03-11 15:03:13 · 1319 阅读 · 0 评论 -
Rust GUI 库
文章目录eguiconrodnative-windows-gui-windows (推荐)iced (推荐)eguiWeb GUI库,编译到webAsemmbly在浏览器中运行,它实现了简单的布局功能,基础的表单组件,滚动条区域,树型组件,鼠标绘图等(目前所见过的最丰富组件的 Rust Web GUI,功能强大)github 项目:https://github.com/emilk/egui在线示例:https://emilk.github.io/egui/index.htmlconrod原创 2020-11-07 18:27:22 · 9502 阅读 · 1 评论