您的位置:首页 > IT > 正文

当前热讯:Crystal 1.7.0 发布,语法类似 Ruby 的编译型编程语言

来源:OSCHINA     时间:2023-01-11 07:33:19


(相关资料图)

Crystal 是一种通用的、面向对象的编程语言,由 Ary Borenszweig、Juan Wajnerman、Brian Cardiff 和 300 多名贡献者设计开发。Crystal 的语法受到 Ruby 的启发,属于编译语言,具有静态类型检查功能,但一般不需要指定变量或方法参数的类型,可实现接近 C/C++ 的性能。它的类型由一个先进的全局类型推理算法来解决。

Crystal 1.7.0 已发布,此版本包含自 1.6.2 发布以来 38 位贡献者提供的 152 项更改。主要内容如下:

解释器 REPL#12738

解释器的 REPL 接口在可用性方面得到了重大改进。命令提示符现在支持多行输入、命令历史记录和多个键绑定。

由于技术原因,解释器目前仅在 brew 中默认提供。 对于其他平台,需要在 make 选项中使用 interpreter=1 ,从源代码编译。

带有 PCRE2 的正则表达式#12790

Crystal 依赖 libpcre 作为在 Regex 中执行正则表达式的引擎,1.7.0 版本添加了对其后续版本 libpcre2 的支持。使用上没有重大差异,PCRE2 大部分是向后兼容的,预计不会有很多问题。

PCRE2 将在下一个版本中隐式启用,可能成为默认引擎。 当更新的库不可用时,PCRE 将继续作为后备引擎。

其他杂项

语言

Lib 函数现在在顶级宏中可见(#12848) 添加了 ArrayLiteral#-(other) 和 TupleLiteral#-(other) (#12646) 注解现在支持 @[Deprecated] 注解 (#12557) 删除了 oct/bin 浮点文字,该数字语法已被破坏,且不是很有用 (#12687)

编译器

⚠️ 过时的 FreeBSD 11 兼容性已被删除 (#12612)

标准库

⚠️ File.real_path 更名为 File.realpath, 旧版本已弃用,但在下一个主要版本之前一直有效(#12552) ⚠️ libXML2 的错误处理不会再将错误泄漏到当前上下文之外(#12663,#12795) File#flock_shared 和 File#flock_exclusive 的阻塞不再阻塞线程 (#12861) Windows 现在也支持 File#flock_shared 和 File#flock_exclusive (#12766) BigDecimal#to_s 支持科学记数法 (#10805)

有关更多详细信息,请访问更新日志。

相关文章