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的资料请关注脚本之家其它相关文章!
相关文章
IDEA出现java:程序包javax.servlet不存在问题解决方法
这篇文章主要给大家介绍了关于IDEA出现java:程序包javax.servlet不存在问题的解决方法,这个错误提示意味着你的Java程序中缺少了javax.servlet这个包,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-11-11Quoted-printable 编码介绍、Quoted-printable编码解码转换方法
这篇文章主要介绍了Quoted-printable 编码介绍、Quoted-printable编码解码转换方法,需要的朋友可以参考下2016-06-06趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码知识
这篇文章主要介绍了趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码知识,文章写的诙谐风趣,膜拜啊,需要的朋友可以参考下2014-07-07chatGPT deBug解决管理员登入服务器返回401问题
这篇文章主要介绍了chatGPT deBug解决管理员登入,服务器返回401,没有拿到数据,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-05-05使用GitLab+Jenkins实现持续集成CI环境的示例代码
本文主要介绍了使用GitLab+Jenkins实现持续集成CI环境的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-01-01使用selenium自动控制浏览器找不到Chromedriver问题
这篇文章主要介绍了ChromeDriver安装与配置问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02
最新评论