当前位置:  开发笔记 > 编程语言 > 正文

加载后显示ruby文件的完整路径名

如何解决《加载后显示ruby文件的完整路径名》经验,为你挑选了2个好方法。

在阅读源代码时,我总是想知道文件加载时的完整路径,ruby中是否有任何回调方法来完成此操作,还是以其他任何方式执行此操作?提前致谢.

编辑澄清评论:

我想知道在执行这一行时加载的"somefile"所在的位置:"load somefile"



1> Dave Everitt..:
在Ruby中显示文件的路径名

如何简单(来自露营的快速测试):

File.expand_path(File.dirname(__FILE__))



2> Gordon Wilso..:

我能想到的最好方法是修补Kernel模块.根据文档 Kernel::load搜索$:文件名.如果我们找到它,我们可以做同样的事情并打印路径.

module Kernel
  def load_and_print(string)
    $:.each do |p|
      if File.exists? File.join(p, string)
        puts File.join(p, string)
        break
      end
    end
    load_original(string)
  end

  alias_method :load_original, :load
  alias_method :load, :load_and_print

end

我们alias_method用来存储原始load方法,我们称之为最终方法.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有