子范围

一个子范围是一个整型或枚举类型值(基本类型)的范围。例如:

  1. type
  2. MySubrange = range[0..5]

MySubrange 是只包含0到5的 int 范围。赋任何其它值给 MySubrange 类型的变量是编译期或运行时错误。允许给子范围赋值它的基类型,反之亦然。

system 模块定义了重要的 Natural 类型 range[0..high(int)] (high 返回最大值)。其它编程语言可能建议使用无符号整数。这通常是 不明智的 : 你不希望因为数字不能是负值而使用无符号算术。Nim的 Natural 类型帮助避免这个编程错误。