Rust 所有权很难?这个开源工具帮你理解

polarisxu

共 1529字,需浏览 4分钟

 · 2021-07-17

Rust 学习曲线高,其中所有权是最难的点,很多人跨不过去这个坎。

今天发现了一个开源工具:RustViz,这是一个从简单的 Rust 程序生成可视化的工具,可以帮助用户更好地理解 Rust Lifetime 和 Borrowing 机制。

项目地址:https://github.com/rustviz/rustviz,Star 数:1.4k+,点击文末「阅读原文」可以直达该项目。

RustViz 生成带有图形指示器的 SVG 文件,这些指示器与 mdbook[1] 集成,以便在 Rust 程序中呈现数据流的可视化。下面是一个视觉化后的例子:

怎么使用呢?

RustViz 能够通过用户定义可视化简单的 Rust 程序(有一定的限制)。这里将展示如何生成上面提供的示例的 SVG。

在开始之前,你需要安装好 Rust,Cargo 和 mdbook(Rust 安装好后,Cargo 默认会安装好,mdbook 需要单独安装)。然后下载 rustviz,进入 rustviz_mdbook 目录,执行如下命令:

$ ./view_examples.sh
Generating visualizations for the following examples:
building copy...
building hatra1...
building hatra2...
building func_take_ownership...
building func_take_return_ownership...
2021-07-07 22:36:13 [INFO] (mdbook::book): Book building has started
2021-07-07 22:36:13 [INFO] (mdbook::book): Running the html backend
Serving HTTP on :: port 8000 (http://[::]:8000/) ...

如果看到以上输出,那么已经成功地生成了 Rust 可视化示例!打开浏览器,访问 http://localhost:8000/。这个界面是可交互的,可以操作查看动画。

完整的指南,自己如何使用,RustViz 仓库主页有较详细的教程,有兴趣的可以跟着一步步学习、操作下,希望这个工具可以帮助你更好的学习 Rust 所有权知识。

参考资料

[1]

mdbook: https://github.com/rust-lang/mdBook



往期推荐


我是 polarisxu,北大硕士毕业,曾在 360 等知名互联网公司工作,10多年技术研发与架构经验!2012 年接触 Go 语言并创建了 Go 语言中文网!著有《Go语言编程之旅》、开源图书《Go语言标准库》等。


坚持输出技术(包括 Go、Rust 等技术)、职场心得和创业感悟!欢迎关注「polarisxu」一起成长!也欢迎加我微信好友交流:gopherstudio

浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报