Crystal最新发布v1.3.0语法相似Ruby编译型编程语言

Crystal 的语法受到 Ruby 语言的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型,可实现接近 C/C++ 的性能。它的类型由一个先进的全局类型推理算法来解决。

最新发布的版本包含错误修复和功能改进,涉及到编译器、代码生成、调试器、解析器、语义、语法、标准库、加密、网络、运行时和语法宏等方面,详情查看 release note

部分亮点

系统调用(SYSCALLS)

添加了一个实验性 API 来创建原生系统调用 (#10777)。目前仅支持 Linux。这是支持 Linuxio_uring接口以提高 IO 性能的第一步。

如需定义系统调用,请打开一个模块并使用Syscall.def_syscall宏。如以下示例所示,需要传入系统调用名称、返回类型及其参数。

require "syscall"

module MySyscalls
  Syscall.def_syscall write, Int32, fd : Int32, buf : UInt8*, count : LibC::SizeT
end

data = "Hello!\n"
MySyscalls.write(1, data.to_unsafe, LibC::SizeT.new(data.size))

支持 128 位字面量

通过改进解析器,现在可以理解完整范围内的数字文字或 128 位整数 (#11571)。到目前为止,仅在 64 位值的范围内支持 128 位文字。

1_i128                                       # Works in 1.2.2 and 1.3.0
170141183460469231731687303715884105727_i128 # Fails in 1.2.2, works in 1.3.0
1_.1   # Error: unexpected '_' in number
-0u64  # Error: Invalid negative value -0 for UInt64
-0_u64 # Error: Invalid negative value -0 for UInt64
1__2   # Error: consecutive underscores in numbers aren't allowed
0x_2   # Error: unexpected '_' in number
0_12   # Error: octal constants should be prefixed with 0o
0e40   # => 0.0
0x     # Error: numeric literal without digits

详细更新说明点此查看

以上就是Crystal最新发布v1.3.0语法相似Ruby编译型编程语言的详细内容,更多关于Crystal最新发布v1.3.0的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python 3.8正式发布重要新功能一览

    Python3.8有哪些你要关注的新内容?  Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览.这么多新内容,哪些是大家最先要关注一下的呢?下面,营长就带大家从深度和广度两方面,了解那些最大的变化,帮助大家快速上手 Python3.8. 新功能手册: https://docs.python.org/3.8/whatsnew/3.8.html 在本文中,你将了解到Python 3.8如何: 使用赋值表达式简化一些代码结构 在你自己的函数中强制执行仅位置参数 指定更精确的类型提示

  • R语言数据读取以及数据保存方式

    一.R语言读取文本文件: 1.文件目录操作: getwd() : 返回当前工作目录 setwd("d:/data") 更改工作目录 2.常用的读取指令read read.table() : 读取文本文件 read.csv(): 读取csv文件 如果出现缺失值,read.table()会报错,read.csv()读取时会自动在缺失的位置填补NA 3.灵活的读取指令 scan() : 4.读取固定宽度格式的文件: read.fwf() 文本文档中最后一行的回车符很重要,这是一个类似于停止符

  • Crystal最新发布v1.3.0语法相似Ruby编译型编程语言

    Crystal 的语法受到 Ruby 语言的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型,可实现接近 C/C++ 的性能.它的类型由一个先进的全局类型推理算法来解决. 最新发布的版本包含错误修复和功能改进,涉及到编译器.代码生成.调试器.解析器.语义.语法.标准库.加密.网络.运行时和语法宏等方面,详情查看 release note. 部分亮点 系统调用(SYSCALLS) 添加了一个实验性 API 来创建原生系统调用 (#10777).目前仅支持 Linux.

  • Docker v1.13.0 正式版发布

    Docker v1.13.0 正式版发布了. 重要信息:在 Docker 1.13 中,与在 Docker 1.12 中引入的实验版本相比,管理插件 api 发生了变化.在升级到 Docker 1.13 之前,必须卸载使用 Docker 1.12 安装的插件.可通过  docker plugin rm 命令卸载插件. 如果已经升级到 Docker 1.13 而不卸载先前安装的插件,则当 Docker 守护程序启动时,可能会看到此消息 Error starting daemon: json: ca

  • spring-boot-plus V1.4.0发布 集成用户角色权限部门管理(推荐)

    RBAC用户角色权限 用户角色权限部门管理核心接口介绍 Shiro权限配置

  • myFocus slide3D v1.1.0 使用方法与下载

    XHTML结构: 复制代码 代码如下: <div id="myFocus-wrap"> <div id="myFocus"> <!--焦点图盒子--> <div class="loading"> <span>请稍候...</span></div> <!--载入画面--> <ul class="pic"> <!--内

  • VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法

    Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,并针对网页开发和云端应用开发做了优化.VS Code编辑器界面依然是微软经典的 VS 风格,对于常接触的人来说会很亲切. 在编程语言和语法上支持 C++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java,

  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: "所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 "的解决方法; 作者这里可能仅仅只是针对某些情况,希望对你有所帮助! 安装pyecharts: 对于学习大数据可视化萌新来说我们一般都会使用 pip install pyecharts 命令来安装pyecharts包,因为这个pip命令是最简单快捷的方式,但是使用这个命令一般来说默认安装的是最新版本的包. 当我们安装完成后

  • VS2019配置BOOST的方法(v1.70.0库)

    安装编译Boost c++ library 安装Boost库 官网下载:https://www.boost.org/users/history/version_1_70_0.html 最新版本1.70.0. (低于1.7.0的版本可能在vs2019中支持不完善,编译或运行时发生不可预料的bug) 下载好后,解压,得到文件目录如下图,找到其中的bootstrap.bat文件: 双击运行可能出现闪退,最好的办法(亲测有效): 选择vs2019 -> visual studio tools -> v

  • AspJpeg V1.5.0 破解版

    AspJpeg V1.5.0 破解版 aspjpeg组件使用方法 aspjpeg是一款非常强大的图片处理组件,纯英文版本.不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印.可能是因为纯英文的缘故. 使用aspjepg主要可以做到: 图片缩略 图片水印 安全码技术 图片切割 图片合并 数据库支持 一.图片缩略 . <% Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件 Pa

  • phpstorm远程连接服务器并实时更新发布代码(thinkphp6.0.7)

    想要phpstrom 远程连接上服务器,需要通过以下 步骤操作,具体操作跟随一起看看吧! Step1 打开phpstorm Tools->Deployment->Configuration Step2 开始配置连接参数,我的是阿里云的服务器, 有一个 Test Sftp connection 测试连接的可以先测试下 选择yes 接下来 Step3: Text-to-HTML conversion tool 后面继续连接到你的服务器,并next到最后即可 然后如果想实时更新 这个选项得点下 我用

  • Windows7下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境的图文教程

    1. 打开Nodejs官网http://www.nodejs.org/,点"DOWNLOADS",点64-bit下载"node-v0.10.33-x64.msi". 2. 下载好后,双击"node-v0.10.33-x64.msi",按照默认选项安装Nodejs,默认安装路径为:C:\Program Files\nodejs. (请根据系统位数自行安装) 3. "开始"-->cmd,打开cmd程序,输入"nod

随机推荐