获取给定Perl类或模块中的所有方法和/或属性

 汽车之家马甲小宝宝_457 发布于 2023-01-15 13:12

我正在处理一个明显的简单问题.

我正在编写一个类似于UML :: Class :: Simple的模块,但有一些改进.总而言之,我们的想法是为给定源中的每个模块检索记录卡,其中包含有关方法,属性,依赖关系和子项的信息.我目前的问题是获取每个模块的方法和属性.让我们看看我已经写过的代码:

use Class::Inspector;
use Data::Dumper;
sub _load_methods{
  my $pkg = shift;
  my $methods = Class::Inspector->methods( $pkg, 'expanded' );
  print Dumper $methods;
  return 1;
}

为给定的包调用此函数,我得到的方法比我预期的多.原因是Class :: Inspector返回所有继承的方法,如果模块是Moose :: Object,则返回访问器.我想过滤所有这些方法,以获得在给定包中定义的方法,而不是在其父类中.

任何人都可以提供一种优雅的方式来按我建议的方式过滤方法列表吗?

提前致谢.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有