Option<String>
をOption<i8>
に変換する良い方法を見つけようとしています。例えばオプション<結果<T, Error>>をオプション<T>にアンラップしないで変換する方法はありますか?
、
use std::str::FromStr;
fn main() {
let some_option: Option<String> = Some("too".to_owned());
let new_option: Option<i8> = some_option.map(|x| i8::from_str(x.as_str()));
}
私は明示的にこのような何かタイプをキャストするために、ターボ魚を使うと考えていた:
use std::str::FromStr;
fn main() {
let some_option: Option<String> = Some("too".to_owned());
let new_option: Option<i8> = some_option.map::<Option<i8>>(|x| i8::from_str(x.as_str()));
}
しかし、コンパイラが指摘する、これがないとパラメータの正確な量は、私は、これはうまくいくかもしれないと思ったが、それはしていません:
use std::str::FromStr;
fn main() {
let some_option: Option<String> = Some("too".to_owned());
let new_option: Option<i8> = some_option.map::<Option<i8>,i8::from_str>();
}