#console #quick #argument #command #different #integer #float

已删除 brc

为 Rust 项目提供简单、快速的控制台库

0.1.0 2021 年 8 月 11 日

#135#float

GPL-3.0 许可证

17KB
255 代码行

快速且易于使用的控制台库。

这提供了一个基本的、最小的框架,用于为应用程序创建控制台。

语法

command string_argument"带空格的字符串参数" 33 4.8

注意,33 和 4.8 是两种不同的类型,整数和浮点数。

示例

use brc::prelude::*;

fn main() {
    let mut command_table: HashMap<String, Command>= HashMap::new();
    command_table.insert("add".to_string(), add);
    let console = Console::new(command_table, ">> ");
    console.run_repl();
}

fn add(mut args: Arguments) -> Result<(), BrcError> {
    let mut sum = 0;
    for _ in 0..args.len() {
        let arg: i32 = args.pop_arg()?.try_into()?;
        sum += arg;
    }
    println!("{}", sum);
    Ok(())
}

编写与控制台一起使用的函数

你编写的所有用于控制台的函数都必须遵循此签名:fn(mut args: brc::lex::Arguments) -> Result<(), brc::error::Error>。要在您的函数中使用用户输入的参数,您必须不断地从 args 参数中弹出命令参数,然后将它们转换为期望的类型。以下是一个示例

fn echo(mut args: Arguments) -> Result<(), BrcError> {
    let first_argument: String = args.pop_arg()?.try_into()?; // Expects a String, as per the type annotation. You can expect a f64, i32 or String.
    println!("{}", first_argument);
    Ok(())
}

依赖项

~3–13MB
~109K SLoC