0.1.0 |
|
---|
#135 在 #float
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