Crystal 1.3.0 发布,语法类似 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Poppler 22.01 发布,PDF 渲染库
Poppler 是一个用来渲染PDF 文档的程序库,它是GNU/Linux系统上同类程序库中最为常用的一个,并被开源桌面环境GNOME和KDE上的 PDF 阅读器所使用。 近日,Poppler 22.01.0 正式发布,更新内容如下: Core: 允许在 Windows 上使用本地字体目录 TextOutputDev:需要更多的列间距 修复 Splash::gouraudTriangleShadedFill 的崩溃问题 修复调用 Form::reset() 时的崩溃 GfxSeparationColorSpace: 检查颜色空间和函数的有效性 少量代码改进 Glib: 在使用 glib.h 中的定义之前,请包含 glib.h 发生错误时关闭文件描述符 修复内存泄漏 替换已废弃的 g_memdup/g_time_zone_new 的使用 移除 Windows 下的 FD-taking 函数 实用工具 pdfsig: 增加对有密码的文件的支持 更多详情可查看:https://poppler.freedesktop.org/
- 下一篇
每日一博 | 统一富媒体动效控件
01 背 景 富媒体当下各种样式的控件庞乱繁杂,接口方法不统一,开发者经常使用富媒体控件开发时需要注意的细节较多,比如要事先了解多种控件的api请求方法。 另外,富媒体当下发展得很快,快速迭代滋生了媒体控件的多和杂(工程中图片和视频类控件有很多种)。当下环境的缺口是,整个市场没有一个统一封装的富媒体动效控件,整个应用级别目前没有一个整体的富媒体资源缓存机制,也没有一个与列表类控件形成高效复用的综合富媒体控件。 02 目 标 设计统一富媒体动效控件旨在满足两个场景: 1.解决单个运营类场景的复杂媒体高效切换,一个控件可以满足多种效果; 2.解决类似feed流列表形式的模板统一和高效复用,减少模板量和视图数。 03 收 益 1.单个控件职能丰富,将简化Feed流模板的设计和开发工作; 2.统一API调用后,会大幅降低对富媒体控件的开发学习成本。 04 调 研 京东 1.基本库调研 图片加载库:fresco动效合成库:lottie、ValueAnimator视频播放库:ijkplayer 2.feed流调研 com.jingdong.app.mall.home.floor.view.line...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16