我正在尝试使用来自各种平台的原始数据重新实现前2个最终幻想游戏.我想使用getopts crate获得2个程序参数,并通过使用它们来处理它们,match但它只执行第一个匹配元素.我想我搞砸了类型的东西.
也许有另一种方法可以做到这一点?我迷失了使用正式的Rust文档,互联网上的任何教程都不是非常友好的.
这是代码:
let args: Vec<String> = env::args().map(|x| x.to_string()).collect();
if(args.len() < 3) {
println!("=====ERROR=====\nInvalid number of parameters\nExpected: <gamename> <gamerom>\nType in: 'help me' to get some help.");
process::exit(1);
}
let ref game = args[1];
let ref rom = args[2];
match game {
help => {
println!("=====HELP======");
match rom {
list => println!("Available games: ff1, ff2\nAvailable roms: ff1_j_msx, ff1_j_nes, ff1_u, ff1and2, ff2_j, ff2_u_proto"),
me => println!("Available help commands:\nlist -> List of available games and roms.\nme -> This help"),
_ …Run Code Online (Sandbox Code Playgroud)