arrav: 无堆分配的类 Vec 数组结构

rust 东半球最强 Rust 大神 Jonhoo 开发的库,代码量不多,是 Const Generic 特性的一个应用。

    pub const fn new() -> Self {  
      Arrav {  
        ts: [T::SENTINEL; N],  
      }  
    }  

采用类似的结构,为基本的数字类型都实现了 Sentinel trait,所以基本数字类型都有一个默认的 T::SENTINEL。arrav 里数组长度是依赖于 T::SENTINEL 来判断的,所以也对它做了 SIMD 优化,代码值得一读。此结构适合小型紧凑的数据。Repo:https://github.com/jonhoo/arrav

std::slice::fill

ruststd::slice::file 将会加入到下一个 nightly 版本中,这是从 c++20 借鉴过来的一个 API,JavaScript 也有这样的 API Array.prototype.fill。

    let mut buf = Vec![0; 10];  
    buf.fill(1);  
    assert_eq!(buf, vec![1; 10]);  

康威生命游戏 GameBoy Advance 实现

rust #gamedev 康威生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,每个格子代表一个细胞的状态,一个细胞的当前状态由它相邻的 8 个细胞的上个状态决定,这个游戏也是 Rust WebAssembly 教程的例子,@bokuweb 在 Gameboy Advance 设备上实现了这个游戏。Repo:https://github.com/bokuweb/lifegameboy

gfx-hal 介绍第一部分-画三角形

rust #webgl 这篇文章是 rust 图形编程教程系列的第一篇,使用的是 gfx-hal 这个库,介绍了通过这个库使用 Rust 实现一个 webgl 三角形。Read More:https://www.falseidolfactory.com/2020/04/01/intro-to-gfx-hal-part-1-drawing-a-triangle.html

State Machine 在 Rust 上的现状

rust 本文介绍了什么是状态机,以及它在 Rust 中的现状和未来发展的方向。Read More:https://blog.yoshuawuyts.com/state-machines/


From 日报小组 格朗

来源链接:mp.weixin.qq.com