首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Rust日报】2020-11-21 使用 const 泛型的物理单位

使用 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 日报小组 洋芋

社区学习交流平台订阅:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201121A0FG6H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券