【发布时间】:2013-06-05 13:48:07
【问题描述】:
我希望用户将命令行参数传递给我用 Rust 编写的一个简单函数。我知道我可以使用int::from_str(args[1]) 进行转换,但这会返回一个Option<int>,这意味着为了将它传递给一个接受int 的函数,如下所示,我必须使用match陈述。但是使用 n 个参数,就有 2^n 种可能性。用某些东西编写一系列嵌套的match 语句会很糟糕。如果有办法做这样的事情,那将是理想的:
// will return either Some(int) or None
let start = int::from_str(args[1]), end = int::from_str(args[2]);
if typeof(start) == Some && typeof(end) == Some {
println(fmt!("You entered: %d, %d", start, end);
} else {
println("Error with arguments.");
}
有没有这样的方法?这让我可以测试除 match 之外的枚举成员中的哪个成员?
【问题讨论】: