Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 1.44 KB

File metadata and controls

12 lines (8 loc) · 1.44 KB

4.1数据类型&函数

尽管我们的解释器工作得非常好并且有一些令人兴奋的特性,比如一流的函数和闭包,我们作为 Monkey 的用户唯一可用的数据类型是整数和布尔值。 这不是特别有用,而且比我们从其他编程语言中习惯的要少得多。 在本章中,我们将改变这一点。 我们将向解释器添加新的数据类型。

这项工作的伟大之处在于它再次带我们完成了整个解释器。 我们将添加新的标记类型,修改词法分析器,扩展解析器,最后为我们的评估器和对象系统添加对数据类型的支持。

更好的是,我们要添加的数据类型已经存在于 Go 中。 这意味着我们只需要让它们在 Monkey 中可用。 我们不需要从头开始实现它们,这非常方便,因为这本书不叫“在 Go 中实现通用数据结构”,我们可以专注于我们的解释器。

除此之外,我们还将通过添加一些新功能使解释器更加强大。 当然,作为我们解释器的用户,我们可以自己定义函数,但这些函数的功能有限。 这些称为内置函数的新函数将更加强大,因为它们可以访问 Monkey 编程语言的内部工作原理。

我们要做的第一件事是添加一个我们都知道的数据类型:字符串。 几乎每种编程语言都有它,Monkey 也应该有。

< 3.11谁来倒垃圾? > 4.2字符串