- 作者: seho
- 时间:
- 分类: 精读
- 评论
- 围观人数: 617
课程介绍与编译技术概论这个课程使用rescript进行学习, 主要的学习目标就是实现一个编程语言. 为什么要使用rescript去学习, 主要是因为rescript是元语言, 也是ocaml的一种方言; 这个语言并不是一种js类型加强 (例如typescript), 而是选取了一个js的子集进行重写改造, 有着优秀的语法设计并且可以编译出经过性能优化的js代码. 可以说, 它和ts属于2个赛道, 但是做的事情都是一样的, 即在开发中帮助程序员消除js的各种陷阱&添加类型.为什么要学习编译器和解释器?有意义, 用自己的编程语言去写东西是一个很快乐的事情我们熟悉的编程软件, 比- 阅读剩余部分 -
- 作者: seho
- 时间:
- 分类: 前端
- 评论
- 围观人数: 1210
前言最近遇到一些需求场景, 就是需要在next.js中嵌入一个ide功能; 那么在完成这个任务过程中遇到了非常非常多的坑, 那么如果你也有类似的需求, 那么相信我, 你看完我的文章之后就不需要在找其他资料了; 因为这篇文章我会把所有的实现细节一一描述到位;准备工作在准备开始之前, 我们需要确定我们的技术背景, 我们需要在next.js (v12+)中嵌入monaco编辑器; 不仅如此, 我们要仿照codesandbox (一款知名的在线ide代码盒子), 实现其中的依赖检索&安装&卸载, 而依赖的增删改查将直接导致编辑器的语法提示是否有效 (无效则爆红)next.jsmon- 阅读剩余部分 -
复合类型顾名思义, 复合类型就是其他类型组合而成的, 最典型的就是结构体struct和枚举enum.字符串rust中的字符串和我们平时说了解到的编程语言不一样, 比如下面这一段代码是会编译错误的:fn main() {
let my_name = "Pascal";
greet(my_name);
}
fn greet(name: String) {
println!("Hello, {}!", name);
}切片切片在go中就已经很流行了, 它允许你引用集合部分内容, 而不是全部, 在字符串中, 我们可以这么写:le- 阅读剩余部分 -
最近学习rust的时候,了解到rust的浮点数实现是和js是一样的, 也就导致了我们在js上遇到的精度问题, 在rust同样也能遇到.首先我们来理清, rust的默认浮点类型是f64, 而js由于和其他语言不同, 无论是整数和浮点数都是number类型, 也是64位固定长度, 也就是标准的双精度浮点数,双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.79E+308 ~ +1.79E+308 [1] 。既然2种语言底层的标准都是一样的, 都- 阅读剩余部分 -
- « 前一页
- 1
- 2
- 3
- 4
- 5
- ...
- 20
- 后一页 »