还有比下面的代码更简洁的吗?
let player_list: Option<Vec<Player>>;
// more code here
if player_list.is_none() || player_list.as_ref().unwrap().is_empty() {
// do something here if player_list is none or empty
}
Run Code Online (Sandbox Code Playgroud)
我想避免这一||部分。
我想你可能不想player_list被消耗。在这种情况下,请使用:
player_list.as_ref().map_or(true, Vec::is_empty)
Run Code Online (Sandbox Code Playgroud)
如果可以食用player_list:
player_list.unwrap_or_default().is_empty()
Run Code Online (Sandbox Code Playgroud)