他们的输入应该是c:\ folder \ subfolder \ format中的目录。此外,我不希望它尝试运行,除非该目录包含.flv文件。所以它需要存在并包含.flv文件。否则它应该要求用户输入另一个目录。
代码还会清除斜杠,并添加一个尾部斜杠,这是程序其他部分所需要的。当给定一个存在并包含.flv文件的目录时,我的工作原理,但如果它不包含.flv文件,它只是结束程序而不是要求额外的输入;这意味着只要目录存在就行,即使它没有任何.flv文件。
def is_valid_dir()
input = "nil"
until File.directory?(input) && Dir.glob("#{input}*.flv")
puts "Enter the full directory path of the flv files."
input = gets.chomp
if input[-1..-1] == '/'
# Do nothing if it already
# ends with a forward slash.
else
input += '/'
end
end
input.gsub!('\\', '/')
return input
end
答案 0 :(得分:1)
Dir.glob
将返回一个空数组;检查它的长度。
另外,你说输入应该是反斜杠,但是正在检查正斜杠。除此之外,惯用你可能会写为:
input += '/' unless input[-1..1] == '/'