如何将此匹配作为给定的目录

cam*_*xon 0 ruby regex

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)

Agi*_*gis 5

更改:

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)