前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2022-01-10 使用 Nom 解析文本

【Rust日报】2022-01-10 使用 Nom 解析文本

作者头像
MikeLoveRust
发布2022-01-21 18:34:36
7500
发布2022-01-21 18:34:36
举报

使用 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..

  1. Cargo.toml
代码语言:javascript
复制
[lib]
crate-type = ["staticlib"]

[package.metadata.ios]
build_targets = ["aarch64-apple-ios", "aarch64-apple-ios-sim", "x86_64-apple-ios"]
  1. lib.rs
代码语言:javascript
复制
#[no_mangle]
pub extern "C" fn main_rs() {
    // start game code here
}

运行步骤:

  • 启动一个模拟器
  • cargo xcodebuild run

From 日报小组 BobQin,FBI小白

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 Nom 解析文本
  • Bevy是如何使用 Rust traits 来添加标签的
  • Serde Playground
  • Rexie: IndexedDB wrapper
  • cargo-xcodebuild: 编译和运行 iOS 的 apps.
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档