使用 Nom 解析文本
本教程是关于 Nom 的,它是我最喜欢的Rust解析库。它使用解析器组合子方法:开始编写匹配单个数字或字符的小型解析器。这些将成为更大的解析器的构建块,用于匹配,比如日期或电话号码。通过将许多小型解析器组合在一起,您可以构建一个大型解析器,将文件或流解码为漂亮的Rust结构和枚举。在本教程中,我们将使用Nom解析输入文件到一个Advent of Code的谜题。
原文链接: https://blog.adamchalmers.com/nom-chars/
Bevy是如何使用 Rust traits 来添加标签的
出于好奇,作者最近开始关注Bevy的开发,Bevy是一个用Rust编写的游戏引擎。今天作者想谈谈Bevy如何使用Rust特性让用户非常方便地为元素添加标签。
注意: 这里的实现实际上是非常通用的, 您可以很容易地将其应用到任何其他Rust项目
原文链接: https://deterministic.space/bevy-labels.html
Serde Playground
这是一个 Serde Playground, 上面可以快速验证自己的序列化结果.
原文链接: https://hkalbasi.github.io/serde-rs.github.io/playground.html
Rexie: IndexedDB wrapper
Rexie 是一个易于使用的、基于特性的的 IndexedDB 包装器,可以编译成 webassembly。
github 地址: https://github.com/devashishdxt/rexie
cargo-xcodebuild: 编译和运行 iOS 的 apps.
让 cargo 编译和运行 iOS 的 apps.
例如, 只要很小的改动,就可以使用 xcodebuild 来运行 bevy/miniquad/wgpu/etc..
- Cargo.toml
[lib]
crate-type = ["staticlib"]
[package.metadata.ios]
build_targets = ["aarch64-apple-ios", "aarch64-apple-ios-sim", "x86_64-apple-ios"]
- lib.rs
#[no_mangle]
pub extern "C" fn main_rs() {
// start game code here
}
运行步骤:
- 启动一个模拟器
- cargo xcodebuild run
From 日报小组 BobQin,FBI小白