ruby 2.6.1
Ruby 2.6是最古老的动态语言的最新版本,现已作为生产版本提供。
Ruby 2.6的新功能
Ruby 2.6添加了JIT(即时编译器)的初始实现,以提高程序执行的性能。 Ruby的JIT编译器将C代码写入磁盘,并产生一个C编译器进程以生成本机代码。 当GCC编译器,Clang或Microsoft Visual C ++构建Ruby时,将支持JIT编译器,而这些编译器必须在运行时可用。
Ruby 2.6的其他新功能包括:
- 在更改语言时,
$SAFE
是进程全局状态,可以再次设置0。 - 当
block
作为block
参数传入时,block.call
性能得到改善。 -
Proc#call
已加速。 - 实验性
RubyVM::AST
模块,具有一个parse方法,该方法解析字符串代码并返回AST节点。 另外,parse_ file
方法解析代码文件并返回AST节点。 - 实验性
RubyVM::AST::Node
类可显示Node
对象的位置信息和子节点。 - 常量名称可以以非ASCII大写字母开头。
- 引入了无限范围,就像它们没有尽头一样。
- 引入了
theap
堆(theap
),其中theap
用作由特定类引用的短期内存对象的托管堆。 - Unicode支持现在是版本11。
- Bundler(用于管理gem依赖项)现在是默认的gem。
哪里可以下载Ruby 2.6
您可以从Ruby项目网站下载Ruby 2.6 。
先前版本:Ruby 2.5
Ruby 2.5.0将于2017年圣诞节那天到来,是2.5系列中的第一个稳定版本。
通过从已发现开销的字节码中删除跟踪指令,它可以将性能提高5%到10%。 而是使用动态检测技术。 此外,通过使用Lazy Proc分配技术,通过块参数传递的块已比Ruby 2.4快了三倍。
其他提高性能的功能包括:
- 从旧有的词法分析器从IRB切换到Ripper,从而促进了文档生成。
-
Mutex
类已被重写,以使其更小,更快。Mutex
可用于管理从并发线程对共享数据的访问。 - ERB从模板生成代码的速度是2.4版的两倍。
- 在包括
Array#concat
,Enumerable#sort_by
和String#concat
在内的内置方法中,性能得到了改善。
Ruby 2.5的其他改进包括:
-
Struct/new
可以创建接受关键字参数的类。 -
Do/end
块可以与ensure/rescue/else
一起直接使用。 - pp.rb库自动加载。
- 添加了一个选项以相反的顺序打印回溯。 目的是获取主要错误消息而无需滚动。
- 为了改善测试,提供了分支和方法覆盖率测量的支持。 分支覆盖揭示了执行了哪些分支,而方法覆盖表明了调用了哪些方法。
Ruby 2.5还提供了一个错误修复程序,其中的SecureRandom库用于生成随机数,与OpenSSL相比,它现在更喜欢OS提供的源。 而且,标准库(例如cmath,csv,date,dbm和ipaddr)已提升为gem。
哪里可以下载Ruby 2.5
您可以通过打开tar.gz文件或Zip文件来下载版本2.5。
翻译自: https://www.infoworld.com/article/3245665/whats-new-in-ruby.html
ruby 2.6.1