Nim教程【八】

有序类型

值连续的枚举类型、整型、字符类型、布尔类型(还有这些类型的变种),

都可以称之为有序类型,Nim为有序类型提供了一系列特殊的方法

方法签名

方法说明

ord(x)

返回x参数的整型直

inc(x)

为x参数加一

inc(x,n)

为x参数增加n

dec(x)

为x参数减一

dec(x,n)

为x参数减n

succ(x)

返回x参数的下一个值

succ(x,n)

返回x参数的下n个值

pred(x)

返回x参数的前一个值

pred(x,n)

返回x参数的前n个值

如果编译程序的时候,打开了运行期检查的开关,

那么碰到异常上面几个函数有可能会返回越界或溢出的异常信息

Subrange类型

Subrange类型是某一范围之内的整型值,来看下面的示例代码:

type
  Subrange = range[0..5]

上面这段代码的意思是,subrange这个类型的值,只能是0到5之间的整型值,不能是其他的

如果你为其设置其他的值,那么将导致运行期或编译期的异常

System模块用以下这种形式定义了Natural类型

Natural = range[0 .. high(int)]

(high方法返回int类型的最大值)

其他语言经常使用无符号整型作为最基础的自然类型

这往往是错误的,因为大多数计算工作都是需要有符号的

Nim语言这方面的设计,主要是为了避免这类错误

OK,今天就写到这里,吃早饭去了,

喜欢的请帮忙点推荐

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老司机的技术博客

人人都能学会的python编程教程5:循环-2

比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必要非得走到最后。

4258
来自专栏谈补锅

C语言之字符、整数、数组、字符串笔记

每种类型占用内存空间不一样,比如char占一个字节,short占2个字节,int占4个字节,double占8个字节

5543
来自专栏老司机的技术博客

宝宝都能学会的python编程教程5:循环-2

“死循环”是必须要避免的,当然“活循环”也未必都要执行完。 break 语句 比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必...

3755
来自专栏企鹅号快讯

Python数据结构

所属系列:【Python工程师系列】 所属主题:【Python零基础】 1 ? 编码格式建议 不用Tab缩进,用4倍空格缩进 必要时换行(避免单行超出79个字符...

2150
来自专栏Young Dreamer

正则学习笔记——重复、贪婪与懒惰

1.贪婪与懒惰 贪婪与懒惰的适用情况是针对重复的情况; 重复的限定符: * 重复>=0次 + 重复>=1次 ? 重复0或1次 {n} 重复n次...

1936
来自专栏数据结构与算法

41:判断元素是否存在

41:判断元素是否存在 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 有一个集合M是这样生成的: (1) 已知 k 是集...

3196
来自专栏海天一树

小朋友学经典算法(12):分割字符串

在分割字符串之前,先来了解一些跟字符串相关的变量或函数: (1)size_type:size_type由string类类型和vector类类型定义的类型,用以保...

1172
来自专栏程序员互动联盟

【答疑解惑】java中static关键字的作用

static方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,...

3067
来自专栏mySoul

C++入坑

给变量设置一个集合,该变量的值只能从该集合中取为枚举类型。且,转为int类型的初始值为0~6,可以设置其int值

1253
来自专栏不想当开发的产品不是好测试

nodejs 语法学习(持续更新)

合并objects var o1 = { a: 1 }; var o2 = { b: 2 }; var o3 = { c: 3 }; var obj = Ob...

23910

扫码关注云+社区

领取腾讯云代金券