0
試圖編寫腳本,該腳本將搜索特定文件的目錄和子目錄。我想知道某個目錄是如何調用某個方法的。到達目錄時的目錄遍歷方法
這是我嘗試和失敗:
def display_directory(path)
list = Dir[path+'/*']
return if list.length == 0
list.each do |f|
if File.directory? f #is it a directory?
if File.directory?('config')
puts "this is the config folder"
end
printf "%-50s %s\n", f, "is a directory:".upcase.rjust(25)
else
printf "%-50s %s\n", f, "is not a directory:".upcase.rjust(25)
end
end
end
start = File.join("**")
puts "Processing directory\n\n".upcase.center(30)
display_directory start
這是我希望發生的。
app
app/controllers
app/helpers
app/mailers
app/models
app/models/bugzilla
app/models/security
app/views
app/views/auth
app/views/calendar
app/views/layouts
app/views/step
app/views/step_mailer
app/views/suggestion
app/views/suggestion_mailer
app/views/task
app/views/user
bin
--------------------------------------
config <----------(call method foo)
config/environments
config/initializers
config/locales
--------------------------------------
db
db/bugzilla
db/migrate
db/security
lib
lib/tasks
log
public
public/images
public/javascripts
public/stylesheets
script
script/performance
script/process
--------------------------
test <---------(call method foobar)
test/fixtures
test/fixtures/mailer
test/functional
test/integration
test/performance
test/unit
--------------------------
vendor
vendor/plugins
爲什麼失敗?錯誤?發生了什麼?你的腳本的輸出是什麼?什麼紅寶石版本? – fotanus 2013-05-08 20:11:56
它打印出「這是配置文件夾」,但它是錯誤的文件夾。 '這是配置文件夾tmp/cache/B27/910'是一個真正的目錄,而不是我正在尋找的目錄。我的if語句關閉。 – 2013-05-08 20:14:12
我不明白你的措辭。你能否以確切的期望重新提出你的問題? – dimitarvp 2013-05-08 21:02:31