當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Option.zip_with用法及代碼示例


本文簡要介紹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

如果 selfSome(s) 並且 otherSome(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-lang.org大神的英文原創作品 std::option::Option.zip_with。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。