当通过符号链接加载/需要文件时,引用文件名的所有方法、关键字等似乎都引用链接名,而不是真实的文件名。例如,假设我有一个文件foo.rb
,其内容类似于:
puts __FILE__, __dir__, caller
bar.rb
和一个指向的符号链接foo.rb
。foo.rb
如果我通过符号链接加载/要求bar.rb
,那么上面命令给出的所有文件名都描述了符号链接名bar.rb
,而不是真实的文件名foo.rb
。
有没有办法用指向真实文件的文件名而不是符号链接名来调用 , , 等的对应__FILE__
项__dir__
?caller