我是Ruby的新手,并试图学习它。我正在使用最新的Ruby版本(2.4.1)和交互式Ruby Shell。
我在children
课程中遇到了Dir
方法。我试过了from the documentation示例:
Dir.children("testdir") #=> ["config.h", "main.rb"]
但它似乎不起作用,因为我收到以下消息:
undefined method `children' for Dir:Class
我错过了什么?
答案 0 :(得分:13)
这似乎是某种文档混乱。
Dir.children
方法随Feature #11302一起引入到Ruby中,并且committed to trunk最终随Ruby 2.5.0一起发布。但是,由于dir.c
of Ruby 2.4.1未提及该方法,因此添加此方法的补丁似乎并未实际向后移植到Ruby 2.4。目前还不清楚为什么此方法的文档出现在http://ruby-doc.org/
无论如何,看来你对这种方法运气不佳。但是,您可以在Ruby版本中使用以下等效代码:
Dir.entries('testdir') - [".", ".."]
它将在Ruby 2.5及更新版本中返回与Dir.children('testdir')
完全相同的值。