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]
有個代碼可以看看: