Project Anni 之旅(2)ValueAfterTable——toml-rs的实现与限制
大家好,好久不见,我是某昨。 最近将 Anni 的元数据仓库标准更新到 1.1 时出现了问题。在 1.1 的标准中,date 字段可以通过指定 year、month 和 day 表示相对模糊的专辑发售日期: [album] date = { year = 2021, month = 10 } 对反序列化而言,一切都没有问题,但在序列化的时候,问题出…
|
831
|
|
644 字
|
5 分钟
Rust std::fmt 格式语法简述
format! 可以说是我们日常格式化字符串过程中最常用的宏了,但每次想要使用相对复杂一点的功能时总要搜索一番,不大方便。因此便有了这篇文章,在学习的同时方便今后的查阅。 本文假定读者已经使用并了解过诸如 println!、format! 这些宏,在有一定基础的条件下从语法层面往下推,介绍 std::fmt 目前支持的格式语法。 格式语法 目前(2…
|
2,284
|
|
1297 字
|
6 分钟
【翻译】Subtyping and Variance / 子类型与变型
本文于 2021 年 1 月 5 日译自 《The Rustonomicon》中 Subtyping and Variance 一章,在原文基础上增加了部分目录格式以便于阅读。 前言 子类型是类型之间的一种关系,使静态类型语言更加宽松、灵活。 Rust 中的子类型和其他语言有所不同,更难举出简单的例子——毕竟子类型,尤其是变型,其本身已经很难理解了…
|
2,466
|
|
3897 字
|
16 分钟
ES6 Proxy 简介
最近用到 Proxy 的地方还是挺多的(具体关注之后的文章就知道了),这里来总结一下具体的用法。 BGM 何为 Proxy? Proxy,简单来说,就是用来代理访问一个对象的那层代理。Proxy 可以拦截对其对应对象的几乎所有请求,包括赋值、取值、执行(函数调用)、类型判断(instanceof)等。这里直接给出 MDN 的地址吧,具体的介绍可以去…
|
1,839
|
|
1071 字
|
5 分钟
Lua Pattern 简介
话不多说,这部分是作为之后某一篇文章的前置而出现的。 Lua 的 Pattern 和正则表达式有相似之处,但也有所不同。本文力图简短地介绍 Pattern 和可以用到 Pattern 的函数,为之后的使用打好基础。 回顾正则表达式 简单的正则表达式语法如下: abc:表示匹配 abca*:表示匹配零个或多个 aa+:表示匹配一个或多个 a [abc…
|
2,371
|
|
324 字
|
2 分钟