- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Moose 非常可爱,但有时简单的拼写错误会导致令人毛骨悚然的长堆栈跟踪,在我看来,有用的内容为零。
那么,是否有任何工具可以将这种爆炸式解释为有用的东西?
特别是对于使用普通 Moose、Moose+MooseX::Method::Signatures 和 MooseX::Declare 的类。
这些工具只需要在开发过程中有所帮助,以捕捉那些使事情无法正常工作的错字或思考问题。
==========================
根据下面的建议,我正在使用这个 not-quite-a-module-yet 来减轻我的头痛,欢迎更多的想法,不过:
package MooseX::QuietCarping;
# Not actually a Moose thing, but helpful for Moose.
# calm Moose-internal stacktraces down a little
use Carp;
my %retain = ();
sub import {
my $class = shift;
$retain{$_}++ for @_;
}
CHECK {
for (sort keys %INC) {
s{\.pm$}{};
s{[/\\]}{::}g; # CROSS PLATFORM MY ARSE
next if $retain{$_};
$Carp::Internal{$_}++ if /^(?:Class::MOP|Moose|MooseX)\b/
}
%retain = (); # don't need this no more
}
1;
最佳答案
我前段时间尝试的一种方法是将 Moose 相关的类放入 %Carp::Internal
哈希,是这样的:
$Carp::Internal{$_}++ for qw{
Class::MOP
Class::MOP::Attribute
Class::MOP::Class
...
};
%INC
找到它们多变的:
package Dummy;
use Moose;
use MooseX::Declare;
# use ....;
for (sort keys %INC) {
s{\.pm$}{};
s{/}{::}g;
print "$_\n" if /^(Class::MOP|Moose|MooseX)\b/;
}
关于perl - Moose 和 MooseX::Declare 的有用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171255/
以下代码定义了两个类(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 命名空
我是一名优秀的程序员,十分优秀!