ruby #require_relative_with_tco与#require_relative类似,但尾部调用优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby #require_relative_with_tco与#require_relative类似,但尾部调用优化相关的知识,希望对你有一定的参考价值。
module Kernel
def require_relative_with_tco file
absolute_path = File.absolute_path file, __dir__
realpath = File.realpath "#{absolute_path.chomp '.rb'}.rb"
if $LOADED_FEATURES.include? realpath
false
else
RubyVM::InstructionSequence.compile_file(
realpath,
tailcall_optimization: true,
trace_instruction: false
).eval
$LOADED_FEATURES << realpath
true
end
rescue Errno::ENOTDIR, Errno::ENOENT
raise LoadError, "cannot load such file -- #{absolute_path}"
end
end
以上是关于ruby #require_relative_with_tco与#require_relative类似,但尾部调用优化的主要内容,如果未能解决你的问题,请参考以下文章
Ruby 25 岁了!Ruby 之父说 Ruby 3 有望 3 倍提速
如何学习ruby?Ruby学习技巧分享
ruby Ruby脚本,看看是否用openssl编译了ruby
什么是ruby?
ruby和ruby ee
ruby入门知识:了解ruby历史及特性