是否有一种方法来加载只匹配特定字符串的文件?例如,假设我想加载与account1.rb
、account2.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 }