0
我是Ruby新手,一般編程。目前,我正在使用Ruby中的Dir類。我試圖創建一個Dir對象,然後在這個對象上使用Dir方法。但是,我做錯了什麼。這是我使用的一個小代碼。Class Dir。創建一個對象。紅寶石
$LOAD_PATH
puts Dir.getwd
puts Dir.glob("*.rb")
這工作得很好。我可以看到我的當前目錄並列出所有帶.rb擴展名的文件。
kd = Dir.new("N:/Data-Analytics/Products")
puts kd.getwd
在這裏,我創建了一個對象kd指示其他目錄。但是,我有一個消息,getwd是一個未定義的方法。不是kd是Dir的對象嗎?
謝謝您的幫助=)
我不明白爲什麼該方法的條目與我的對象KD工作,但getwd沒有。這兩種方法在Dir類的方法中列出。 – Ona
@Ona'Dir'包含'Enumerable',所以'kd.entries'實際上是['Enumerable#entries'](http://ruby-doc.org/core-2.4.1/Enumerable.html#methodi-i -entries)。這相當於調用'kd.each.to_a' – Stefan
是的,因爲@Stefan說,.entries的工作原理是Dir包含Enumerable ...如果您真的想知道什麼是可用於Dir類的實例方法,您可以始終執行Irb中的'Dir.instance_methods' ... –