首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Rust日报】2022-12-28 Rust 中的原生反射

【Rust日报】2022-12-28 Rust 中的原生反射

作者头像
MikeLoveRust
发布2023-02-15 18:59:48
发布2023-02-15 18:59:48
7040
举报

Rust 中的原生反射

反射是程序检查自身结构和行为的能力。例如,在 Javascript 中,可以编写迭代任意对象的键值对的程序,或者检查对象是否包含给定名称的字段。Deflect 为 Rust 带来了其中的一些功能。deflect 的核心是它的 Reflect 特性,它适用于所有类型。有了它,您可以:

  • 恢复任何特征对象的具体类型
  • 按名称索引或迭代 a 的字段struct
  • 检查捕获的闭包数据
  • 检查 Rustasync fn 生成器的内部结构
  • 优雅打印任意数据(即使它没有实现Debug!)
  • https://jack.wrenn.fyi/blog/deflect/

文档即代码

Mermaid 工具的支持极大地增强了 rust-docs 和项目文档的整体表现力!Mermaid 是一个允许我们创建流程图、图形、图表、序列图、状态机、甘特图和类图等的工具。例如图表可以添加到函数的 rust-doc 的文档中,显示在 HTML 输出中 cargo doc

代码语言:javascript
复制
#[cfg_attr(doc, aquamarine::aquamarine)]
/// A function showcasing aquamarine defaults
///
/// With aquamarine it's possible to embed Mermaid diagrams into your Rust documentation using the code snippets
/// 
/// ```mermaid
/// graph LR
///     s([Source]) --> a[[aquamarine]]
///     r[[rustdoc]] --> f([Docs w/ Mermaid!])
///     subgraph rustc[Rust Compiler]
///     a -. inject mermaid.js .-> r
///     end
/// ```
///
/// The diagram is going to be located in place of the code snippet
///
/// Dark mode is automatically enabled if `dark` or `ayu` rustdoc theme is selected.
///
/// You might need to reload the page to redraw the diagrams after changing the theme.
pub fn example() {}
  • https://mermaid.js.org/intro/

Cnosdb 时序数据库行协议解析

🥳CnosDB Rust课程精彩继续🥳 🦴 本期主题:实战!解析行协议 2 (Rust parser combinator)

👾本节课我们将继续深入实战阶段,做好准备,前方高能

  1. 解析bool类型
  2. 解析整型

内容概要: 本期继续实战解析行协议,行协议的filed类型有5种,分为bool,有符号整型,无符号整型,浮点型,字符串,我们将依次为大家解析

Make Some Noise!

有趣的知识,等你来发掘~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust 中的原生反射
  • 文档即代码
  • Cnosdb 时序数据库行协议解析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档