内容简介: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 语法的编译型编程语言
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!