// Cargo.toml
[dependencies]
simd-adler32 = "*"
// example.rs
use simd_adler32::Adler32;
let mut adler = Adler32::new();
adler.write(b"rust is pretty cool, man");
let hash = adler.finish();
println!("{}", hash);
// 1921255656
..Default::default()初始化。#[derive(Debug, Default, PartialEq, Eq)]
struct Inner {
x: i32,
y: i32,
z: i32,
}
#[derive(Debug, Default, PartialEq, Eq)]
struct Mid {
a: Inner,
b: Inner,
c: Inner,
d: Inner
}
#[derive(Debug, Default, PartialEq, Eq)]
struct Outer {
mid1: Mid,
mid2: Mid,
mid3: Mid,
mid4: Mid,
}
fn build_outer() -> Outer {
Outer {
mid1: Mid {
a: Inner {
x: 10,
..Default::default() // :D
},
b: Inner {
y: 10,
..Default::default() // :)
},
..Default::default() // :|
},
mid2: Mid {
b: Inner {
z: 10,
..Default::default() // :/
},
..Default::default() // :(
},
..Default::default() // >:(
}
}
#[autodefault]属性标记函数:use autodefault::autodefault;
#[autodefault]
fn build_outer_simple() -> Outer {
Outer {
mid1: Mid {
a: Inner { x: 10 },
b: Inner { y: 10 },
},
mid2: Mid {
b: Inner { z: 10 },
}
}
} // :O
assert_eq!(build_outer(), build_outer_simple())
(load "core/math.orn")
(def fibo (λ (n)
(match (< n 2)
(True n)
(_ (+ (fibo (- n 1)) (fibo (- n 2)))))))
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。