currDir = ""
#
# regex is from stack overflow question:
dirRegex = Regexp.new '^(?!.*[\\/]\.{2}[\\/])(?!\.{2}[\\/])[-\w.\\/]+$'
if ARGV.length == 1 && $1.to_s.match dirRegex
currDir = $1
puts $1
puts "#{currDir}"
puts ARGV.length
else
currDir = "./"
puts $1
puts "#{currDir}"
puts ARGV.length
end
Run Code Online (Sandbox Code Playgroud)
当我尝试让上面的代码匹配一个目录,如home或〜/ test /时,它给了我一个错误.
./script.rb /home/local/NKU/dixonc3/test
./script.rb:9: syntax error, unexpected tIDENTIFIER, expecting keyword_then or ';' or '\n'
./script.rb:14: syntax error, unexpected keyword_else, expecting $end
Run Code Online (Sandbox Code Playgroud)
更改:
if ARGV.length == 1 && $1.to_s.match dirRegex # line 5
Run Code Online (Sandbox Code Playgroud)
至:
if ARGV.length == 1 && $1.to_s.match(dirRegex)
Run Code Online (Sandbox Code Playgroud)