5 个版本 (2 个稳定版本)

1.1.0 2021年1月17日
1.0.0 2021年1月17日
0.0.3 2020年10月3日
0.0.2 2020年10月3日
0.0.1 2020年10月3日

#23#exit

每月25次 下载
brainf 中使用

MIT 许可证

14KB
114

idioma 库

作为 Rust 开发者,我们非常关注安全性和错误处理——我们的程序既快又可靠。然而,用户从未让事情变得容易:他们误解说明,弄坏东西。当我们发现他们正在做不应该做的事情时,我们通常会通过错误消息让他们知道。

每个命令行工具都会不时地向 stdout 打印方便的消息,而要做到这一点,需要几个函数。我发现,每当我开始一个新项目时,我往往会从上一个项目中复制包含那些显示函数的 util.rs 文件。这根本不好。

这意味着我的错误消息

  • 在风格上不同(因为我会定期修改那个 util 文件中的代码);
  • 看起来不像 Rust 风格的消息;
  • 需要为每个新项目执行复制和粘贴操作。

我坚信我不是唯一一个这样做的。看看 这段代码,由 brain-lang 编写。

macro_rules! exit_with_error(
    ($($arg:tt)*) => { {
        use std::process;
        eprintln!($($arg)*);
        process::exit(1);
    } }
);

正如你所看到的,他们就在 main 函数旁边写了这个宏,这正是我与我的 util 文件遇到的问题。idioma 库将永远解决所有这些问题。下面是如何做到这一点。

使用我,宝贝!

在你的 Cargo.toml 文件中。

[dependencies]
idioma = "*"

包含在任何 Rust 文件中。

extern crate idioma;

在函数中使用。

fn foo(i: i32) {
    if i != 42 {
        error("Your taste is appalling.").exit(1);
    }
}

开发

你非常欢迎为此库做出贡献。和以前一样

  • 分支;
  • 更改;
  • 拉取请求。

我会尽最大努力尽快审查请求。如果你编写了新的函数或类似的东西,请确保包含一些带有辛辣幽默的 文档注释

要查看已经存在的内容,请访问 docs.rs,在那里你可以看到带有源代码链接的完整文档。

许可证

我不知道为什么,但这代码是在 MIT 许可证下授权的,这意味着以下内容

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

我知道这很尴尬,但我真的很用心地用 ❤️ 做了这个,所以 😘 再见。

依赖项

~0–10MB
~53K SLoC