Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 扫描子目录,然后切换到该目录?_Ruby_Search_For Loop_Directory - Fatal编程技术网

Ruby 扫描子目录,然后切换到该目录?

Ruby 扫描子目录,然后切换到该目录?,ruby,search,for-loop,directory,Ruby,Search,For Loop,Directory,我有一个用Ruby编写的大型程序,它分布在几个项目中。唯一的问题是其他几个项目都有单独的成员,他们有自己的编码方式,并且程序设置为沿着特定的路径,这是我使用它的第一个项目w/。我有太多的错误需要纠正,这些都是错误的路径。我现在要做的是扫描整个项目中的单个目录(因为程序的开销目录在其使用的每个实例中都是恒定的),然后设置该目录的路径。为了使事情简单化,假设它是w/a Rails项目,因此Rails.root可能是开销,要搜索的目录是myawesomedir。非常感谢您的帮助 您可以使用find s

我有一个用Ruby编写的大型程序,它分布在几个项目中。唯一的问题是其他几个项目都有单独的成员,他们有自己的编码方式,并且程序设置为沿着特定的路径,这是我使用它的第一个项目w/。我有太多的错误需要纠正,这些都是错误的路径。我现在要做的是扫描整个项目中的单个目录(因为程序的开销目录在其使用的每个实例中都是恒定的),然后设置该目录的路径。为了使事情简单化,假设它是w/a Rails项目,因此
Rails.root
可能是开销,要搜索的目录是
myawesomedir
。非常感谢您的帮助

您可以使用find stdlib:

require 'find'

Find.find(Rails.root) do |path|
  if File.basename(path) == 'myawesomedir'
    Dir.chdir path
    break
  end
end

那么你希望得到什么样的答案呢?我不知道你想要什么,应该是直截了当的。“我现在要做的是扫描整个项目中的单个目录(因为程序的开销目录在其使用的每个实例中都是恒定的),然后设置该目录的路径。”您没有提供任何代码,没有示例,只提供散文。此主题不适合SO。需要提供哪些代码?如果我不知道我想要的目的,我应该如何实现它?它非常适合StackOverflow,因为这是一个与编程相关的问题。很多人都发布了不包含代码示例的问题。例如,中断声明是否必要?另外,如果我想检查
Rails.root
中的每个目录中是否有该字符串,我该怎么办?find用于搜索一个目录及其所有子目录。
break
是不必要的,但是一旦找到要
chdir
to的目录,就不需要继续搜索了。如果目标目录不能在子目录中,则不需要使用find。只需使用
Dir.entries(Rails.root)
。非常感谢!这很有帮助!