扶凯

取势 明道 优术

Moo 也支持元类 0 views

作者为 扶 凯 发表

原来以为 Moo 不会象 Moose 一样可以支持元类。测试了一下,发现也支持,这个功能对于我们想了解类的方法和属性,但又并不想深入了解类的代码细节时,就能派上用处了。
元类是用来描述类的类。在 Moose 中,每一个你定义的类都有一个meta()方法。meta()方法返回元信息的实例,其中有一个自省 API 可以告诉你它代表的类。

my $meta = $configloader->meta;
for my $attr ( $meta->get_all_attributes ) { 
    print $attr->name()."\n";
}

for my $method ( $meta->get_all_methods ) { 
    print $method->name()."\n";
}


来了就留个评论吧! 1个评论



    陈子 2013年05月10日 的 10:59

    今天正好想起来看了一下Class::Meta和Moo::Meta,原来大家都是把每个method做成object,我说为毛我怎么都想不到怎么list一个object的methods呢……