V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nn2e
V2EX  ›  分享创造

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

  •  
  •   nn2e · 2017-04-02 10:33:55 +08:00 · 3192 次点击
    这是一个创建于 2797 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    Quick Tour

    9 条回复    2017-04-06 12:55:47 +08:00
    dphdjy
        1
    dphdjy  
       2017-04-02 11:38:14 +08:00
    rust 好评~
    popu111
        2
    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
        3
    nn2e  
    OP
       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
        4
    vertas  
       2017-04-02 18:57:58 +08:00   ❤️ 1
    star 奉上
    wspsxing
        5
    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
        6
    nn2e  
    OP
       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
        7
    wspsxing  
       2017-04-04 13:50:26 +08:00
    @nn2e
    你看看例子并运行下呗。
    我最近才更新放到 crate.io 的,原来的 0.1 版是小白时写的(非常糟糕),现在的版本没有什么依赖,对选项的控制力也足够,就差把 help 分离出来(脱离&mut T 的 lifetime 限制)方便用户随时调用了。
    nn2e
        8
    nn2e  
    OP
       2017-04-05 07:52:56 +08:00
    @wspsxing 可是我对 clap 也不了解,因此无法作出比较。
    wspsxing
        9
    wspsxing  
       2017-04-06 12:55:47 +08:00
    @nn2e 基本写完了,你可以试试看啦, examples 的第二个是实际的项目,附有图片。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1211 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:37 · PVG 02:37 · LAX 10:37 · JFK 13:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.