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