Nim语言0.15.0发布

我们很高兴地向大家宣布,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 翻译赖信涛 责编:仲培艺

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/joy0921/article/details/80125533
文章标签: Nim语言 发布
想对作者说点什么? 我来说一句

<em>Nim语言</em>官方教程

2018年05月07日 0B 下载

<em>Nim语言</em>官方手册

2017年01月23日 0B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭