rust 使用Some作为函数的语法是什么?[closed]

wvt8vs2t  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(125)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

9天前关闭。
Improve this question

self.0.iter().map(Some)

https://github.com/zcash/halo2/blob/main/halo2_proofs/src/circuit/floor_planner/v1/strategy.rs#L71
我试着谷歌一些关键词,但没有找到任何结果。

1mrurvl1

1mrurvl11#

Some不是枚举(正如您在注解中所说的),它是枚举的 * 部分 *,也就是说,Option<T>类型被定义为

enum Option<T> {
    Some(T),
    None,
}

在这里,Some(T)被称为这个枚举的一个变量。然而,为了方便起见,编译器将生成一个同名的函数,带有相同的签名,它只生成这个变量。也就是Some: fn(T) -> Option<T>。类似地,None变量生成一个同名的常量。

相关问题