2011-08-21 142 views
2

我正在用Ruby寫一個備份程序。 用戶輸入目標目錄。驗證目錄路徑

如何驗證條目? 當我故意輸入一個愚蠢的/:mcjhs時,我總是收到一個錯誤。 (當然大聲笑)

我該如何阻止這種情況發生?

感謝您的幫助:-)

編輯:

這是我的意思樣本: DESTINATION1不能創建和拋出一個錯誤。我如何預先接受?

destination1 = 'hj&:test1' 
destination = 'f:\test' 
if (test(?d,destination1)) 
    puts "already exists" 
    system "pause" 
else 
    Dir.mkdir(destination1) 
end 

我解決它,是我之前太:-P

做研究,我把if語句爲開始/救援/結束髮言。太簡單。謝謝你的幫助!

begin 
destination1 = 'hj&:test1' 
destination = 'f:\test' 
if (test(?d,destination1)) 
    puts "already exists" 
    system "pause" 
else 
    Dir.mkdir(destination1) 
end 
rescue 
    puts "error" 
end 

回答

3

您可以使用if/else

if File.directory?(destination) 
    .... 
else 
    .... 
end 
+0

我一直在使用(試驗(?d,目的地))與if/else語句,是的。 問題是檢查用戶輸入的值是否可能/有效的目錄名稱。 如果我問如果它是一個目錄,它會返回false,因爲它還不存在。 – doomi

+0

爲什麼你不編輯你的問題,並顯示你已經做了什麼(即你的代碼),出了什麼問題以及你期望看到的是正確的。 – ghostdog74