我希望用户将命令行参数传递给我用 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
?