Moose有获得类方法属性的方法吗。我从前面的问题中了解到,一些独立的模块(如Sub::Talisman )可以获得模块属性。
如果我在下面运行代码,就会得到错误“无效代码属性: Public at .”
#============================
package BaseClass;
use Moose;
#============================
package SubClass;
use Moose;
extends qw(BaseClass);
sub greet : Public {
my $self = shift;
printf("Hello world.");
}
#============================
package main;
my $object = SubClass->new();
# I need to get the Public attribute of the sub greet in the SubClass package.
# if the sub has a Public attribute, call it, otherwise, die.
# does Moose have some methods to get the attributes, I know some other modules like
# Sub::Talisman can get the sub's attributes.
$object->greet();
#============================我需要在SubClass包中获得子greet的Public属性。如果潜艇有一个公共属性,我会做一些事情,否则,其他事情。
Moose有一些获取属性的方法吗,我知道一些其他模块,比如Sub::Talisman可以获得sub的属性。
发布于 2014-03-02 21:11:08
有MooseX::方法属性,它将属性内省内容集成到Moose元对象协议中。
然而,您正在获得的特定错误将不会被解决。要消除该错误,需要定义一个名为:Public的属性,以便Perl知道该属性的存在。分::护身符和属性::处理程序是可以用来定义属性的模块。
https://stackoverflow.com/questions/22130966
复制相似问题