模块 模块 Nim支持用模块的概念把一个程序拆分成片段。每个模块在它自己的文件里。模块实现了 信息隐藏 和 编译隔离 。一个模块可以通过 import 语句访问另一个模块符号。 只有标记了星号(*)的顶级符号被导出: # Module A var x *, y : int proc `*` *( a , b : se...
枚举 枚举 你或许已经注意到了,lval 的 type 和 err 字段的类型都是 int ,这意味着它们皆由整数值来表示。 之所以选用 int ,是因为我们将为每个整数值赋予意义,并在需要的时候进行解读。举例来说,我们可以制定这样的规则: 如果 type 为 0,那么此结构体表示一个数字。 如果 type 为 1,那么此结构体表示一...