如何在Ruby中覆盖require?
发布时间:2020-12-17 01:25:43 所属栏目:百科 来源:网络整理
导读:我需要在 Ruby文件中覆盖require,这是我的start.rb所需要的,这是应用程序入口点.在此之前,在start.rb中加载rubygems. 我试过的一切都给了我一个堆栈溢出错误. 做正确的方法是什么? 解决方法 通常,如果要修补某些内置方法,则应首先为原始方法创建别名.大多数
我需要在
Ruby文件中覆盖require,这是我的start.rb所需要的,这是应用程序入口点.在此之前,在start.rb中加载rubygems.
我试过的一切都给了我一个堆栈溢出错误. 做正确的方法是什么? 解决方法
通常,如果要修补某些内置方法,则应首先为原始方法创建别名.大多数情况下,你会用最重要的方法在某处调用旧的.否则你将失去原始方法的功能,并且可能会破坏应用程序逻辑.
>使用ri require或阅读文档以找出require方法的定义位置.你会发现它在内核模块中.此外,您将找到其方法签名,以便您知道参数列表的外观. module Kernel # make an alias of the original require alias_method :original_require,:require # rewrite require def require name puts name original_require name end end # test the new require require 'date' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |