gpt4 book ai didi

ruby - 我如何在 Ruby 中反省事物?

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:35 24 4
gpt4 key购买 nike

例如,在 Python 中,如果我想获取一个对象的所有属性,我可以这样做:

>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']

或者如果我想查看某事的文档,我可以使用帮助功能:

>>> help(str)

有没有办法在 Ruby 中做类似的事情?

最佳答案

当然,它甚至比在 Python 中更简单。根据您要查找的信息,尝试:

obj.methods

如果您只想要为 obj 定义的方法(而不是在 Object 上获取方法)

obj.methods - Object.methods

同样有趣的是做这样的事情:

obj.methods.grep /to_/

要获取实例变量,请执行以下操作:

obj.instance_variables

对于类变量:

obj.class_variables

关于ruby - 我如何在 Ruby 中反省事物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492730/

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