Nim语言0.15.0发布

Nim 编程语言的最新版本 0.15.0 已发布,此次更新包含了约 180 项 bug 修复及改进。更新亮点包括文档的增强、引入 multisync 宏指令以及全新的 HttpClient 实现。这些改进使得 Nim 的使用更加便捷高效。

我们很高兴地向大家宣布,Nim的最新版本0.15.0发布啦!

和往常一样,你可以在下载页下载最新的版本。

这次的发布包括将近180个bug修复和优化。查看详细的细节更新,可以参考下面的changelog

其中一些意义重大的改变包括:文档的优化,添加了multisync宏指令,以及一个新的HttpClient实现。

文档

现在,文档中的所有页面都有了一个搜索框,并且有一个下拉菜单可以选择排序的方式。这样你就可以搜索程序、类型、宏指令以及文档页面的更多内容啦。

将程序通过类型排序可以用更自然的方式显示。这可以帮你找到你想要的程序和其他标志符。

Multisync 宏指令

multisync宏指令的作用是,可以不必复制大片代码,就能轻松地完成同步或异步的IO程序。

举个例子,参考下面的recvTwice程序:

proc recvTwice(socket: Socket | AsyncSocket): Future[string] {.multisync.} =
  result = ""
  result.add(await socket.recv(25))
  result.add(await socket.recv(20))

multisync宏指令将会把上面的代码转化为:

proc recvTwice(socket: Socket): string =
  result = ""
  result.add(socket.recv(25))
  result.add(socket.recv(20))

proc recvTwice(socket: AsyncSocket): Future[string] {.async.} =
  result = ""
  result.add(await socket.recv(25))
  result.add(await socket.recv(20))

同时兼容同步和异步。

HttpClient

大多数的HttpClient程序都反对使用multisync实现。现在主要有两种类型:HttpClientAsyncHttpClient。两种实现都有相同的功能,唯一的不同是超时支持和是否阻塞。

更多信息可以查看HttpClient文档.

原文Version 0.15.0 released
作者:Dominik Picheta and Andreas Rumpf 翻译赖信涛 责编:仲培艺

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值