前端之家收集整理的这篇文章主要介绍了
如何在Ruby中获取当前文件和行号?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想实现这样的日志
函数:
def mylog(str)
puts __FILE__,":"__LINENO__,":",str # Here how to get __FILE__ and __LINENO__ is my question.
end
当我打电话给mylog:
mylog 'hello' # say I call this in my.rb line 10
我期待输出:
my.rb:10:hello
请帮助正确实现mylog功能.
你必须使用来电者
def mylog(str)
caller_line = caller.first.split(":")[1]
puts "#{__FILE__} : #{caller_line} : #{str}"
end
您可能想要知道调用mylog的文件…
def mylog(str)
caller_infos = caller.first.split(":")
puts "#{caller_infos[0]} : #{caller_infos[1]} : #{str}"
end
原文链接:https://www.f2er.com/ruby/269712.html