如何判断哪个版本的Ruby首次引入?

时间:2017-09-26 12:52:04

标签: ruby

在官方Ruby documentation或其他地方,是否有一种简单的方法可以看到哪种版本的Ruby首先被引入该语言?

我没有找到这样的资源,看起来它显然很有用。

2 个答案:

答案 0 :(得分:1)

您可以尝试在https://github.com/ruby/ruby/blob/trunk/doc查看更改日志,但看起来他们跳过了一些;)

我能想到的唯一方法是拥有所有主要版本的二进制文件,并在它们上执行代码以查看是否有效。如果您正在寻找Hash#fetch,那么您可以运行ruby -e 'Hash.new.fetch(0, 0)'每个返回0的版本将实现它,其他版本意味着一些错误。您可以使用rvm

您可以使用git bisect自动化它。但它必须为每个检查编译ruby二进制文件,并且一些依赖项可能已经改变,所以我不希望它在第一次尝试时起作用:D

答案 1 :(得分:0)

要完成@Grzegorz 的回答,您可以在 DevDocsRubyAPI 中查找您需要的方法,然后尝试更改版本(例如 3.0 -> 2.7 等),直到该方法为没有记录。

唯一的直接方法是使用 ApiDock,但它现在已被放弃,仅涵盖从 Ruby 1.8.6 到 2.6.3。

到目前为止,最好(最简单、最快捷)的方法是使用 DevDocs。

添加 DevDocs 中可用的所有 Ruby 版本(2.2 到 3.0)。

devdocs - ruby versions

搜索您的方法并查看最低匹配(例如,此处使用 Regexp#match?)是 2.4。如果您想更加确定,则可以检查相应的 ruby​​ changelog

devdocs - search