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

Joe*_*ino 8 ruby

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

childrenDir课堂上遇到过这个方法.我试过文档中的例子:

Dir.children("testdir")   #=> ["config.h", "main.rb"]
Run Code Online (Sandbox Code Playgroud)

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

undefined method `children' for Dir:Class
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Hol*_*ust 13

这似乎是某种文档混乱.

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

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

Dir.entries('testdir') - [".", ".."]
Run Code Online (Sandbox Code Playgroud)

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