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か?