gpt4 book ai didi

ruby - 如何检查模块

转载 作者:行者123 更新时间:2023-12-02 00:55:04 24 4
gpt4 key购买 nike

如何找出模块中定义的结构(方法、常量等)?

假设有 require 'observer',我想查看在 'observer' 中定义的所有内容。我该怎么办?

最佳答案

简短的回答:你不能,不能绝对肯定。

长答案:这是 Ruby 本质上是一种非常动态的语言的产物,几乎没有对 require 语句可能做的事情施加任何限制。一个库可以创建任意数量的模块和类,并且不需要将它们整齐地组合在一起。

即使您在需要之前对所有已定义的类和方法进行快照,然后再进行另一个快照以找出添加的内容,也无法保证您已经捕获了所有这些类和方法。在 require 语句完成后,一些类可能会被加载或定义。

找出答案的最佳方法是通读源代码。在那里,您会看到所有可以定义的不同模块和类,即使它们不是由您的代码触发的。

methods 这样的反射(reflection)工具在一定程度上有所帮助,但它也具有很大的误导性。方法可以在以后的某个时间点定义,您可能需要更彻底地练习代码才能显示它们。

关于ruby - 如何检查模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36341725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com