Rust 新手作品, qrs - 通过二维码发送及接收文本和文件 (CLI)

2017-04-02 10:33:55 +08:00
 nn2e

仓库地址: https://github.com/ARwMq9b6/qrs

前端界面还很原始,请多多指教!

3006 次点击
所在节点    分享创造
9 条回复
dphdjy
2017-04-02 11:38:14 +08:00
rust 好评~
popu111
2017-04-02 15:28:42 +08:00
latest release ( win-msvc ): thread 'main' panicked at 'not yet implemented', src\main.rs:221
nn2e
2017-04-02 15:42:14 +08:00
@popu111 目前需要带上子命令,否则就会报这个错误。

输入 `qrs --help` 可看到有两个子命令:`send` 和 `receive`.

`send`表示“发送”,比如命令 `qrs send 你好` 可生成带有“你好”信息的二维码。输入 `qrs send --help` 可看到 send 的更多选项;

`receive` 用于“接收”文件和文本,比如 `qrs receive` 后,手机扫码可将文件 /文本分享给电脑。输入 `qrs receive --help` 可看到 receive 的更多选项。
vertas
2017-04-02 18:57:58 +08:00
star 奉上
wspsxing
2017-04-03 20:55:45 +08:00
你在调用 clap 处理命令行参数前简单的判断下命令行参数(std::env::args())的长度就行了,为 0 就打印错误信息, std::process::exit(1)退出。

或者换个命令行参数库,可以当我的小白鼠,用我写的 https://github.com/biluohc/app-rs ,我是当初小白时试 clap 怎么也找不到一个想要的功能的 api ,最后自己开始写,都是泪啊。。其实当时就是不用 clap 也有其它的选择的。
nn2e
2017-04-04 10:21:34 +08:00
@wspsxing 是呀!当初没想到这样判断。因为本来设想,如果用户没有指定子命令就默认为 send 子命令。后来感觉这样做的动力不强烈,就用 unimplemented! 宏暂时标记为一个 TODO 项了,然后就没有然后了。。。

app-rs 和 clap 相比有什么新功能呢?她在 crates.io 上已经有 29 下载了!很棒。

另外我也喜欢 structopt 这种结构体形式的参数解析: https://crates.io/search?q=structopt , 感觉挺酷的。
wspsxing
2017-04-04 13:50:26 +08:00
@nn2e
你看看例子并运行下呗。
我最近才更新放到 crate.io 的,原来的 0.1 版是小白时写的(非常糟糕),现在的版本没有什么依赖,对选项的控制力也足够,就差把 help 分离出来(脱离&mut T 的 lifetime 限制)方便用户随时调用了。
nn2e
2017-04-05 07:52:56 +08:00
@wspsxing 可是我对 clap 也不了解,因此无法作出比较。
wspsxing
2017-04-06 12:55:47 +08:00
@nn2e 基本写完了,你可以试试看啦, examples 的第二个是实际的项目,附有图片。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352119

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX