如何使用 ruby 和 ARGV 在目录中创建目录

How to create a directory inside a directory with ruby and ARGV

我有一个程序要求终端写入用户想要的目录名称,像这样$ ruby app.rb mysuperdirectory

def get_ directory_name
  return directory_name = ARGV.first
end

def create_ directory(name)
  Dir.mkdir(name)
end

def perform
  directory_name = get_ directory_name
  create_ directory(directory_name)
end

perform

我会自动想建立一个lib目录Dir.mkdir("lib"),放在目录mysuperdirectory 下。 在用户刚刚创建的带有 lib 的 mysuperdirectory 中,我想制作一个 system("git init")system("rspec --init")

我怎样才能做到这一切? 谢谢

您可以使用 Dir.chdir 更改目录。

def perform
  directory_name = get_ directory_name
  create_ directory(directory_name)
  create_ directory("#{directory_name}/lib")
  Dir.chdir(directory_name) do
    system("git init")
    system("rspec --init")
  end
end