を計算し、二つの数字を読み込み、その商を計算しようとしている:エラー閲覧&Iは、錆の初心者だ商
use std::io;
enum Option<T> {
None,
Some(T),
}
fn safe_div(n: i32, d: i32) -> Option<i32> {
if d == 0 {
return None;
}
return Some(n/d);
}
fn main() {
println!("Please input your numerator.");
let mut numerator = String::new();
io::stdin()
.read_line(&mut numerator)
.expect("Failed to read line");
println!("Please input your denominator.");
let mut denominator = String::new();
io::stdin()
.read_line(&mut denominator)
.expect("Failed to read line");
match safe_div(numerator, denominator) {
None => println!("Can't divide by zero!"),
Some(v) => println!("Quotient is {}", v),
}
}
をしかし、私はそれをコンパイルしようとすると、次のエラーを数回繰り返し取得しています:
src/safe_div.rs:12:12: 12:21 error: mismatched types: expected
Option<i32>
, foundstd::option::Option<i32>
(expected enumOption
, found enumstd::option::Option
) [E0308]
私はここで何が欠けていますか?
この修正を試しても、コンパイルエラーは消えてしまいますが、代わりにランタイムエラーが発生します: 'thread ''は 'Expected i32''でパニックになり、商を印刷するよりも。 –
wogsland