- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我制作了一个“捆绑”模块,它做了很多事情:导入Moose
, 进口 true
, namespace::autoclean
, 使调用者的类不可变(取自 MooseX::AutoImmute
)。我无法弄清楚的一件事是如何包含 MooseX::Method::Signatures
.
这是我到目前为止所得到的:
package My::OO;
use Moose::Exporter;
use Hook::AfterRuntime;
use Moose ();
use true ();
use namespace::autoclean ();
my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
also => ['Moose'],
);
sub import {
true->import();
my $caller = scalar caller;
after_runtime { $caller->meta->make_immutable };
namespace::autoclean->import(-cleanee => $caller);
goto &$import;
}
sub unimport {
goto &$unimport;
}
1;
package My::Class; {
use My::OO;
extends 'My::Parent';
method foo() { ... }
}
use MooseX::Method::Signatures;
.如何将其包含到我的 OO 模块中?
最佳答案
首先,请注意 Hook::AfterRuntime
的执行相当脆弱。虽然它适用于许多简单的事情,但很容易以非常难以调试的错误告终。我建议只写 ->meta->make_immutable
您自己,或使用其他方法来绕过编写它,例如 MooseX::Declare
, 例如。
要回答您的实际问题:
MooseX::Method::Signatures->setup_for($your_caller);
关于perl - 将 MooseX::Method::Signatures 导入调用者的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647894/
以下代码定义了两个类(DeckA 和DeckB),它们的区别仅在于它们是否使用MooseX::AttributeHelpers 附带的功能。 . Moose 为 DeckB 生成的 getter 不是
来自 current version (0.98)的Moose::Manual::MooseX是行: We have high hopes for the future of MooseX::Meth
我正在编写我的第一个 moose 基础程序。该程序创建了一个“状态”对象,它是由其他几个驼鹿对象组成的。在程序结束时,我希望将“状态”对象保存到文件中。我正在尝试使用 MooseX::Storage
考虑以下: package MyApp::CGI; use Moose; use MooseX::NonMoose; use Data::Dumper; extends 'CGI::Applicati
我正在运行使用包管理器安装的 Perl 5.10.1。我已经从 CPAN shell 成功安装了 Moose,我尝试安装 MooseX::Declare 扩展但没有成功。这是我所做的: $ sudo
我想用 MooseX::ClassAttribute在 一名角色。即,做类似的事情 package Cachable; use Moose::Role; use MooseX::ClassAttrib
我意识到这可能是我对 perl 或 Moose 某些部分的基本误解,但我似乎无法从 default 返回 ArrayRef方法: has '_directories' => ( is => '
使用 MooseX::Declare 的性能下降主要是在它执行其初始魔术时遇到的吗(即将定义“翻译”为标准 Perl 语法)?即一旦编译和初始运行时设置完成,调用 MooseX::Declare 方法
你好, 作为我的 previous question 的后续关于 Moose,我现在遇到了一个新问题。我有一个 Moose 类,它使用 Recipe 12为了扩展非 Moose 父类。这里是: pac
我整理了一个小测试用例来演示我的问题: package P1; use Moose; use MooseX::Storage; with Storage; has 'blah' => ( is
我最近开始使用模块 MooseX::Declare .我喜欢它的语法。它优雅而整洁。有没有人遇到过您想在一个类中编写许多函数(其中一些很大)并且类定义运行到页面中的情况?是否有任何解决方法可以使类定义
后奏 MooseX::Declare 将不再被任何人推荐,因为它依赖于 Devel::Declare,它达到了它的目的,但它本身已经过时了。此时,如果有人想要 MX::D,他们应该查看 Moops 原
有没有办法让 $self 进入 MooseX::Types 强制转换?我在对象中有其他数据,我想使用这些数据将我的强制转换从 String 转换为 Object。或者,有没有像 Class::MOP
经过令人尴尬的调试时间后,我终于剥离了 this issue归结为一个简单的测试用例。我会谦虚地请求一些帮助来理解它失败的原因。 :) 这是我收到的错误消息: plxc16479> $h2/tmp/t
我制作了一个“捆绑”模块,它做了很多事情:导入Moose , 进口 true , namespace::autoclean , 使调用者的类不可变(取自 MooseX::AutoImmute )。我无
我想使用 Moo 而不是 Moose,但我还需要从非 Moose 类继承。我应该如何处理?有没有一个模块可以解决这个问题?如果没有,有没有办法我自己处理? 最佳答案 Moo 已经可以处理子类化非 Mo
假设我有一个包含 Moose 的代码库-based 类,我希望它们都使用一组通用的 MooseX::*扩展模块。但我不希望每个基于 Moose 的类(class)都必须像这样开始: package M
Moose 非常可爱,但有时简单的拼写错误会导致令人毛骨悚然的长堆栈跟踪,在我看来,有用的内容为零。 那么,是否有任何工具可以将这种爆炸式解释为有用的东西? 特别是对于使用普通 Moose、Moose
我正在使用 MooseX::Declare 和方法,它使用 MooseX::Method::Signatures。假设我有一个类“foo”和一个方法“bar”,我已经实现了它: class foo {
我意识到这对于所有 MooseX 模块来说通常都是不可能的,特别是在模块深入研究 Moose 和 Mouse 不同的元类的情况下。 但出现这个问题是因为有时 MooseX 模块在 MouseX 命名空
我是一名优秀的程序员,十分优秀!