内容简介:Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。Crystal 的语法受到 Ruby 语言的启发,属于编译语言,具有静态类型检查功能,但一般...
Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。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 1.3.0 发布,语法类似 Ruby 的编译型编程语言》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Crystal 0.25.1 发布,语法类似 Ruby 的编译型编程语言
- Crystal 0.25.1 发布,语法类似 Ruby 的编译型编程语言
- Crystal 0.26.0 发布,类 Ruby 语法的编译型编程语言
- Crystal 0.26.0 发布,类 Ruby 语法的编译型编程语言
- Crystal 0.27.0 发布,类 Ruby 语法的编译型编程语言
- Crystal 0.27.0 发布,类 Ruby 语法的编译型编程语言
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
笨办法学Python 3
[美]泽德 A. 肖 / 王巍巍 / 人民邮电出版社 / 2018-6-1 / CNY 59.00
本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。 本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个......一起来看看 《笨办法学Python 3》 这本书的介绍吧!