ruby的require很强大,自己能找到各种依赖。然后有时候想找到某个类或者module所定义的文件。这个时候可以使用ruby1.9+的source_location方法。
require 'csv'
p CSV.new('string').method(:flock)
# => #<Method: CSV#flock>
CSV.new('string').method(:flock).source_location
# => ["/path/to/ruby/1.9.2-p290/lib/ruby/1.9.1/forwardable.rb", 180]
有个代码可以看看: