2个版本
0.1.1 | 2020年11月18日 |
---|---|
0.1.0 | 2020年11月18日 |
#870 in 数学
10KB
162 行
ApproxEq
ApproxEq
特性方便定义类型之间的近似关系,并为原始数值类型提供了已声明的任意实现!
轻松为您的类型定义实现
use approxeq::ApproxEq;
enum BookFormat {
Paperback,
Hardback,
Ebook,
}
struct Book {
isbn: i32,
format: BookFormat,
}
impl ApproxEq for Book {
// Two books are approximately equal when their respective ISBNs parity matches
fn aeq(&self, &other: Self) -> bool {
self.isbn % 2 == other.isbn %2
}
}
fn main() {
let b1 = Book { isbn: 3, format: Paperback }
let b2 = Book { isbn: 5, format: Hardback }
let b3 = Book { isbn: 10, format: Ebook }
assert!(b1.aeq(&b2));
assert!(b1.nae(&b3));
}
贡献
欢迎所有和任何的PR。
致谢
ApproxEq crate可以称为一个玩笑。
大部分文档是rust-lang的std::cmp::PartialEq
特性文档的改编。