使用 const 泛型的物理單位
就像一個具有更好的錯誤消息的 uom!
#![feature(const_generics, const_evaluatable_checked)]
useconst_unit_poc::values::;
letdistance =1.0* m;
letmass =18.0* kg;
letforce = distance * mass / (1.8* s *2.0* s);
assert_eq!(force,5.0* N);
letmutmutable_distance =3.2* m;
mutable_distance -=0.2* m;
mutable_distance +=2.0* m;
assert_eq!(mutable_distance,5.0* m);
crate 連結,https://docs.rs/const_unit_poc/1.0.0/const_unit_poc/
Knurling-rs
Knurling-rs,是用於開發和調試用於嵌入式系統的 Rust 軟體。第七次的 changelog:
進入 crates.io,是測試工具,可以用於編寫在微控制器上運行的單元測試。
發布了 v0.1.1 和 v0.1.5
Github連結,https://github.com/knurling-rs
Lunatic
Lunatic,用於構建使用 WebAssembly 實例作為 actors 的 Actor 系統平臺。它在很大程度上受到 Erlang 的啟發,可以從可編譯為 WebAssembly 的任何語言中進行定位。當前只有 Rust 的綁定可用。
示例:
uselunatic::;
fnmain() {
letchannel = Channel::new();
letvec:Vec = (..1_000).collect();
foriinvec.iter() {
Process::spawn((*i, vec.clone(), channel.clone()), child).unwrap();
}
for_invec.iter() {
let(i, sum) = channel.receive();
println!("Sum until {}: {}", i, sum);
}
}
// Child process calculates the sum of numbers of context.1 until context.0 index.
fnchild(context: (i32,Vec, Channel)) {
leti = context.;
letvec = context.1;
letchannel = context.2;
letsum_until_i:i32= vec[..=iasusize].iter().sum();
channel.send((i, sum_until_i));
}
該應用程式產生1000個子進程,並在每個子進程中計算從0到i的數字總和,然後將結果發送回父進程並進行列印。
Github連結,https://github.com/lunatic-lang/lunatic
【視頻】Rust Github 模版
使用 Rust GitHub 模板,可以立即創建一個託管在 GitHub 上的 Rust 項目。包括持續集成,持續部署和文檔!
視頻連結,https://www.youtube.com/watch?v=meAz2RQMHvM
介紹文章連結:https://rust-github.github.io/
From 日報小組 洋芋
社區學習交流平臺訂閱: