【发布时间】:2011-12-13 00:31:31
【问题描述】:
这是一个小问题,但每次我创建一个 gem 并且需要加载子目录下的所有文件以实现某种反思目的(或只是快速而肮脏的预加载)时,我都会问自己“肯定有一种更清洁的方式吗?”,参考这种常见的模式:
Dir[File.join(File.dirname(__FILE__), "subdirectory/**/*.rb")].each { |f| require f }
需要在__FILE__ 上调用File.dirname,这使得它不必要地冗长。您不能真正在 gem 中使用相对路径,因为您不知道从哪里加载。
【问题讨论】:
-
插入目录名而不是调用
File.join -
嘿,我想这行得通 :) File.join 为 Windows 做了一些事情,但考虑到 ruby 无论如何都会使用
/加载文件,这并不重要。
标签: ruby