我该在哪里找到特定函数添加版本的Ruby版本?

3

就像标题所述,确切地说是File.symlink

我已经查看了ruby-doc.org,但没有找到任何相关内容。有什么帮助吗?

2个回答

3

虽然 APIdock 可能会证明一个方法存在于哪些版本中,但这可能与它不存在于哪些版本中没有任何关系,也就是说,该方法出现在哪个 MRI 版本中是第一个版本,对吗? - conny
我猜我的怀疑是错误的:我似乎找不到其他评论中提到的情况的示例。请忽略它。 - conny

0
为弥补缺少变更日志和原始语言规范,您可以利用 RVM 进行经验测试以查找方法存在的最低版本。这种方法不是很精确,但可能会回答您的问题,例如:ObjectSpace.count_objects
~$ rvm list

rvm rubies

   rbx-1.1.0-20100923 [ i386 ]
   ree-1.8.7-2010.02 [ i386 ]
   ruby-1.8.6-p399 [ i386 ]
   ruby-1.8.7-p174 [ i386 ]
   ruby-1.8.7-p302 [ i386 ]
   ruby-1.8.7-p330 [ i386 ]
   ruby-1.9.1-p378 [ i386 ]
   ruby-1.9.2-p0 [ i386 ]
   ruby-1.9.2-p136 [ i386 ]
   ruby-1.9.2-p180 [ i386 ]

~$ rvm exec ruby -e 'puts(ObjectSpace.respond_to?(:count_objects), "")' -v
rubinius 1.1.0 (1.8.7 release 2010-09-23 JI) [i686-apple-darwin9.8.0]
false

ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin9.8.0], MBARI 0x8770, Ruby Enterprise Edition 2010.02
false

ruby 1.8.6 (2010-02-05 patchlevel 399) [i686-darwin9.8.0]
false

ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]
false

ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin9.8.0]
false

ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin9.8.0]
false

ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin9.8.0]
true

ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-darwin9.8.0]
true

ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-darwin9.8.0]
true

ruby 1.9.2p180 (2011-02-18 revision 30909) [i386-darwin9.8.0]
true

太棒了,谢谢 rvm exec ruby -e 'puts(File.respond_to?(:symlink), "")' -v - Matthew Boston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接