Rust でネストが深くなったけど未解決
前に行った into_iter() は無事動きました。何だったんだ。
今はこんな感じです。
perf_client/pdh_wrapper.rs at master · ROki1988/perf_client · GitHub
impl PdhController { pub fn new(path: Vec<PdhCounterPathElement>) -> Option<PdhController> { pdh_open_query() .map(|q| { let cs = path.into_iter() .filter_map(|e| { pdh_make_counter_path(&e) .and_then(|p| pdh_add_counter(q, p.as_str())) .map(|c| { PdhCollectionItem { element: e, hcounter: c, } }) .ok() }) .collect::<Vec<_>>(); PdhController { hquery: q, hcounters: cs, } }) .ok() } }
ふかい! ふかいんだよ…
依存があるのはそうだからしかたないけど、どうにかしたい。
do 記法とか for 内包表記とかにあたるものがあれば、まだましになるはず?
相変わらず PdhController
返してるあたりが胡散臭いけど、またあと。