#transpose #optional #option-option-t #option-transpose

optional_transpose

一个小的crate,为.transpose()添加到Option<Option<T>>

1 个不稳定版本

0.1.0 2024年4月24日

#3 in #transpose

MIT 许可证

4KB

optional_transpose

一个小crate,为.transpose()添加到Option<Option<T>>,允许你可逆地交换成对内部和外部选项,这样你可以在内部选项上使用?

Crates.io

示例

use optional_transpose::OptionTranspose;

fn example() -> Option<i32> {
    let x: Option<Option<i32>> = Some(None);
    let y: Option<i32> = x.transpose()?; // Returns None, as the inner option is None
    Some(1)
}

assert_eq!(example(), None);

lib.rs:

optional_transpose

一个小crate,为.transpose()添加到Option<Option<T>>,允许你可逆地交换成对内部和外部选项,这样你可以在内部选项上使用?

示例

use optional_transpose::OptionTranspose;

fn example() -> Option<i32> {
    let x: Option<Option<i32>> = Some(None);
    let y: Option<i32> = x.transpose()?; // Returns None, as the inner option is None
    Some(1)
}

assert_eq!(example(), None);

无运行时依赖