JSON文書を読み取るためのserde_jsonと協力しながら、私はserde_json::from_str
の戻り値をアンラップした結果を得るために、次のコード行を書いた:Rustジェネリックをアンダースコアでインスタンス化するとはどういう意味ですか?
fn get_json_content(content_s: &str) -> Option<Value> {
let ms: String = serde_json::from_str(content_s).unwrap; // <--
match serde_json::from_str(content_s) {
Ok(some_value) => Some(some_value),
Err(_) => None
}
}
あなたが見ることができるように、私は年末に()
を忘れてしまったが次のエラーが生じたunwrap
への呼び出し、:
error: attempted to take value of method
unwrap
on typecore::result::Result<_, serde_json::error::Error>
let ms: String = serde_json::from_str(content_s).unwrap;
しかし、私は少しさらにこれを見たとき、奇数として私を襲った事があった。
core::result::Result<_, serde_json::error::Error>
私はアンダースコアがマッチコンテキストで意味することを理解しますが、ジェネリックをインスタンス化するには?それはどういう意味ですか?私は錆の本やリファレンス、ウェブ検索で何の答えも見つけられませんでした。
も参照[Vecと<_>何ですか?](HTTP:
はこれは"turbofish operator"を使用して避けることができるため、多くの場合に特に便利です://stackoverflow.com/q/34363984/155423)。 – Shepmaster