2011-08-21 111 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