Tôi có một vector là Option
và tôi chỉ muốn lọc Some
giây. Tôi sử dụng filter_map
đậm đà bản sắc:Có chức năng nhận diện tích hợp trong Rust không?
let v = vec![Some(1), None, Some(2)];
for i in v.into_iter().filter_map(|o| o) {
println!("{}", i);
}
Có một hàm dựng sẵn cho phép để viết một cái gì đó giống như filter_map(identity)
?
Lưu ý rằng 'danh tính' là 4 ký tự nhiều hơn ví dụ ban đầu của bạn; Tôi hy vọng mọi người sẽ quá lười biếng để loại nó ra^_ ^. – Shepmaster
@Shepmaster Thỉnh thoảng biểu thức tốt hơn là ngắn gọn: p – Boiethios
@Shepmaster: Như với câu trả lời của bạn, F # gọi nó là 'id', vì vậy có tiền lệ cho điều đó trong stdlib ít nhất. – ildjarn