本文簡要介紹rust語言中 std::option::Option.zip_with
的用法。
用法
pub fn zip_with<U, F, R>(self, other: Option<U>, f: F) -> Option<R> where F: FnOnce(T, U) -> R,
拉鏈 self
和另一個 Option
與函數 f
。
如果 self
是 Some(s)
並且 other
是 Some(o)
,則此方法返回 Some(f(s, o))
。否則,返回None
。
例子
#![feature(option_zip)]
#[derive(Debug, PartialEq)]
struct Point {
x: f64,
y: f64,
}
impl Point {
fn new(x: f64, y: f64) -> Self {
Self { x, y }
}
}
let x = Some(17.5);
let y = Some(42.7);
assert_eq!(x.zip_with(y, Point::new), Some(Point { x: 17.5, y: 42.7 }));
assert_eq!(x.zip_with(None, Point::new), None);
相關用法
- Rust Option.zip用法及代碼示例
- Rust Option.unwrap_or_default用法及代碼示例
- Rust Option.as_deref_mut用法及代碼示例
- Rust Option.get_or_insert_with用法及代碼示例
- Rust Option.iter_mut用法及代碼示例
- Rust Option.or_else用法及代碼示例
- Rust Option.unwrap_unchecked用法及代碼示例
- Rust Option.get_or_insert用法及代碼示例
- Rust Option.expect用法及代碼示例
- Rust Option.get_or_insert_default用法及代碼示例
- Rust Option.insert用法及代碼示例
- Rust Option.map_or用法及代碼示例
- Rust Option.as_mut用法及代碼示例
- Rust Option.map用法及代碼示例
- Rust Option.and_then用法及代碼示例
- Rust Option.filter用法及代碼示例
- Rust Option.unwrap_or用法及代碼示例
- Rust Option.transpose用法及代碼示例
- Rust Option.iter用法及代碼示例
- Rust Option.flatten用法及代碼示例
- Rust Option.as_deref用法及代碼示例
- Rust Option.contains用法及代碼示例
- Rust Option.as_ref用法及代碼示例
- Rust Option.replace用法及代碼示例
- Rust Option.unwrap用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::option::Option.zip_with。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。