昨晚我在想编程语言可以有一个功能,我们应该能够限制分配给原始数据类型的值。
例如,我应该可以说我的 int 类型变量只能具有 0 到 100 之间的值
int<0, 100> progress;
然后,这将在所有情况下充当普通整数,除非您无法指定超出约束中定义的范围的值。编译器不会编译代码progress=200
。
该约束可以通过类型信息来延续。
这可能吗?它是用任何编程语言完成的吗?如果是,那么哪种语言有这种技术,这种技术叫什么?
一般是不可能的。使用没有任何算术运算符的整数没有什么意义。使用算术运算符,您可以得到:
int<0,100> x, u, v;
...
x = u + v; // is it in range?
如果您愿意在运行时进行检查,那么是的,几种主流语言都支持它,从 Pascal 开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)