带通配符表达式的拼音'require'



是否有一种方法来加载只匹配特定字符串的文件?例如,假设我想加载与account1.rbaccount2.rb等匹配的文件。我希望能够做一些像

这样的事情
require File.expand_path("../account*.rb", __FILE__)

,当然这行不通。最好的方法是什么?

对于循环也可以做同样的事情:

Dir.glob(File.expand_path("../account*.rb", __FILE__)).each do |file|
  require file
end

expand_path方法只解析路径。它不展开通配符

我尝试用它来创建一个Minitest测试套件,而不使用Rspec。公认的答案对我不起作用,但这个对我有用:

require "minitest/autorun"
Dir.glob("*_test.rb").each do |file|
    require_relative file
end

我用这个:

Dir.entries( File.dirname( __FILE__ ) ).
    grep( /test.*.rb/ ) { | file | require_relative file }

不幸的是Ruby不允许在点前换行,所以理想的形式是行不通的:

Dir.entries( File.dirname( __FILE__ ) )
    .grep( /test.*.rb/ ) { | file | require_relative file }

最新更新