您的位置:首页 > IT > 正文

Nim 2.0 发布首个 RC,兼容 Nim 1 每日头条

来源:OSCHINA     时间:2022-12-22 14:18:24


(相关资料图)

Nim 1 正式发布三年后,Nim 2 RC 终于来了。公告写道,Nim 2 的目标之一是让开发者编写兼容两个版本(Nim 1 和 2)的代码更容易。目前许多重要的软件包在 Nim 2 中已经可以正常使用。此外,Nim 2 还为创新特性添加了“开关”,可在模块层面进行启用或禁用。

官方表示,Nim 2 基于和 Nim 1 相同的代码库,Nim 2 之于 Nim 1 是进化,而不是巨变。

Nim 2 主要新特性

默认内存策略变更为:--mm:orc

具体示例查看:A cost model for Nim或Introduction to ARC/ORC in Nim。

增加可重载的枚举 (Overloadable enums)

可重载枚举已结束实验性阶段,使用示例:

type    E1 = enum      value1, value2    E2 = enum      value1, value2 = 4  const    Lookuptable = [      E1.value1: "1",      value2: "2"    ]
Strict funcs(严格函数)

“strict funcs” 已达到稳定状态,在未来的版本中将会成为默认选项。

用于对象的默认值

在对象声明字段中现在支持使用默认值:

type    Rational* = object      num: int = 0      den: int = 1  var r = Rational()  assert $r == "(num: 0, den: 1)"
引入 Unicode 运算符

Nim 2 会默认启用--experimental:unicodeOperators:诸如的 Unicode 运算符支持被数学库使用。请注意,标准库不使用 Unicode 运算符。

详情查看发布公告

相关文章