当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。