このC++コードをRustに移植するにはどうすればよいですか?
auto sgnR = (R >= 0.) ? 1. : -1.;
match
キーワードの例を見てきましたが、どのように機能するのかわかりません。
Rustには必要がないため、三項演算子はありません。すべてが何らかの値に評価され、if
/else
ステートメントも例外ではありません。
let r = 42.42;
let sgn_r = if r >= 0. { 1. } else { -1. };
また、変数名を慣用的なRustに変更したことに気付くでしょう。識別子はsnake_case
を使用します。
Rustはが持っている?
演算子と混同しないでください。これは 「try演算子」と呼ばれ、エラーを伝播するために使用されます 。
特にthisコードの場合は、 f64::signum
を使用する必要があります。
let r = 42.42_f64;
let sgn_r = r.signum();