首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl Moose方法属性

Perl Moose方法属性
EN

Stack Overflow用户
提问于 2014-03-02 17:40:25
回答 1查看 845关注 0票数 1

Moose有获得类方法属性的方法吗。我从前面的问题中了解到,一些独立的模块(如Sub::Talisman )可以获得模块属性。

如果我在下面运行代码,就会得到错误“无效代码属性: Public at .”

代码语言:javascript
复制
#============================
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的属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-02 21:11:08

MooseX::方法属性,它将属性内省内容集成到Moose元对象协议中。

然而,您正在获得的特定错误将不会被解决。要消除该错误,需要定义一个名为:Public的属性,以便Perl知道该属性的存在。分::护身符属性::处理程序是可以用来定义属性的模块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22130966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档