Ruby 2.4.1 Dir.children(dirname)为Dir返回“未定义的方法`children’:Class”

我是Ruby的新手,并试图学习它。 我正在使用最新的Ruby版本(2.4.1)和交互式Ruby Shell。

我在Dir课上遇到过children方法。 我试过文档中的例子:

 Dir.children("testdir") #=> ["config.h", "main.rb"] 

但它似乎不起作用,因为我收到以下消息:

 undefined method `children' for Dir:Class 

我错过了什么?

这似乎是某种文档混乱。

Dir.children方法随特性#11302引入到Ruby中,并被用于主干 。 但是,由于Ruby 2.4.1的dir.c没有提到该方法,因此添加此方法的补丁似乎并未实际向后移植到Ruby 2.4。 目前还不清楚为什么这个方法的文档出现在http://ruby-doc.org/

无论如何,看来你对这种方法运气不佳。 但是,您可以在发布的版本中使用以下等效代码:

 Dir.entries('testdir') - [".", ".."] 

它将在Ruby HEAD中返回与Dir.children('testdir')完全相同的值。