|  | #[doc(alias = "加法")] | 
|  | pub fn add(left: usize, right: usize) -> usize { | 
|  | left + right | 
|  | } | 
|  |  | 
|  | pub fn 中文名称的加法API(left: usize, right: usize) -> usize { | 
|  | left + right | 
|  | } | 
|  |  | 
|  | #[macro_export] | 
|  | macro_rules! 中文名称的加法宏 { | 
|  | ($left:expr, $right:expr) => { | 
|  | ($left) + ($right) | 
|  | }; | 
|  | } | 
|  |  | 
|  | #[doc(alias = "加法")] | 
|  | #[macro_export] | 
|  | macro_rules! add { | 
|  | ($left:expr, $right:expr) => { | 
|  | ($left) + ($right) | 
|  | }; | 
|  | } | 
|  |  | 
|  | /// Add | 
|  | pub trait 加法<类型> { | 
|  | type 结果; | 
|  | fn 加上(self, 被加数: 类型) -> Self::结果; | 
|  | } | 
|  |  | 
|  | /// IntoIterator | 
|  | pub trait 可迭代 { | 
|  | type 项; | 
|  | type 转为迭代器: Iterator<Item = Self::项>; | 
|  | fn 迭代(self) -> Self::转为迭代器; | 
|  | } | 
|  |  | 
|  | pub type 可选<类型> = Option<类型>; | 
|  |  | 
|  | /// "sum" | 
|  | pub fn 总计<集合, 个体>(容器: 集合) -> 可选<集合::项> | 
|  | where | 
|  | 集合: 可迭代<项 = 个体>, | 
|  | 个体: 加法<个体, 结果 = 个体>, | 
|  | { | 
|  | 容器.迭代().reduce(|累计值, 当前值| 累计值.加上(当前值)) | 
|  | } |