[随笔]OpenRA 源码(一)Server 启动与主循环Tick
· ☕ 1 分钟
前言 最近听闻 Rust 社区要做 OpenRA 的 rust 版本,我也想借此机会提升一下自己在 Rust 和引擎架构上的知识。计划每天花一点点时间看一点源码,写写笔记。如果有机会混混

Blender Basic 01
· ☕ 1 分钟
前言 经过两天的折腾利用 blender 完成了一个小的45度场景练习。主要目的是为了踩坑和增加场景的制作效率。 最终结果图: 经验 利用 blender 自带的布尔工具插件进行造

[Rust 基础知识]闭包
· ☕ 1 分钟
前言 本文主要覆盖闭包的基础知识点。 基本语法 1 letadd=|a:i32,b:i32|->i32 {returna+b;}; 闭包的返回值和参数类型是可以省略的: 1 letadd=|a,b|{returna+b;}; 和普通函数一样,最后的 return 也可以省略: 1 letadd=|a,b|{a+b}; 如果只有一条

[Rust 基础知识]动态分派和静态分派
· ☕ 2 分钟
前言 本文主要包含动态分派和静态分派的主要知识点。 静态分派 静态分派就是指程序具体调用哪个函数在编译阶段就能确定下来。Rust 中可以通过泛型和 impl

[Rust 基础知识]模式解构
· ☕ 1 分钟
前言 模式结构是写 Rust 代码中最常用到的设计。本文主要关注模式解构的相关知识点。 一般形式 模式解构可以用在: let 声明 函数和闭包的参数列表 match 表达式 if let 表

[Rust 基础知识]初探泛型
· ☕ 1 分钟
前言 本文囊括 Rust 中泛型的主要知识点。 泛型的一般形式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 enum MyOption<T>{Some(T),None,}struct Num<T=i32>{data: Option<T>}fn test_fn<T>(param: T)-> bool fntest_fn<T,U>(param: T,param2: U)-> bool impl<T,U>Into<U>forTwhereU: From<T>{fn into(self)-> U{U::from(self)}} 泛型参数约束 Rust 中有两种

[Rust 基础知识]初探生命周期标记
· ☕ 2 分钟
前言 生命周期标记主要用来处理生命周期跨函数时的情况。 标记形式 生命周期标记的一般形式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 &i32// a reference &'ai32// a reference with an explicit lifetime

[Rust 基础知识]借用与借用规则
· ☕ 2 分钟
前言 本文以最短篇幅概括借用和借用规则的相关知识点。 借用 在 Rust 中,变量除了可以直接进行所有权转移,还可以借用。借用分为两种:只读借用(&

[Rust Std Trait] Iterator 初见
· ☕ 1 分钟
前言 迭代器是 Rust 中的重要功能之一,在 Rust 中迭代器指的是实现了 Iterator trait 的类型。本文以最短篇幅囊括迭代器的相关知识点。 实现 Interator 1 2 3 4 5 6 7 8 9 10 11 12 13 14

[Rust 基础知识]所有权与移动语义
· ☕ 2 分钟
前言 本文以最短篇幅概述 Rust 所有权和移动语义的基础知识点。之后几篇都会是所有权和生命周期的文章,这里先把基础的点整理一下。 想解决的问题 思考以下场

[Rust 基础知识]mut 与可变性
· ☕ 2 分钟
前言 本篇文章以最短的文字囊括 Rust 可变性的主要知识点。 声明可变变量 1 letmutx=5; 我们在理解它的时候需要把 mut x 理解为一个整体,所以我们在模式解构元组的时候会

[Rust Std Trait] std::marker 与 auto trait 初见
· ☕ 2 分钟
前言 在 Rust 的 std::maker 中有几个特殊的 trait,我们之前聊到的 Copy 就是其中一个,他们都是用来描述类型的内在属性,更多的是给编译器需要的额外信息。本篇作为

[Rust Std Trait] 类型转换 trait 初见(二)
· ☕ 2 分钟
前言 书接上文,这次我们来聊聊剩下的几种类型转换 trait。 Borrow/BorrowMut 前文的 AsRef<T> 更像是简单的 T getter 逻辑。而 Borrow<T> 个人理解更多表述的是针对 T 类型的拓展,本质上是