问题标签 [moose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1368 浏览

perl - 访问 Moose 阵列

无法弄清楚推送到 Moose 数组的语法(我敢肯定这很明显而且我很愚蠢)。这是这个问题的延续。在我看来,对于我的具体情况,我需要的不仅仅是一个简单的值。尝试使用 Moose 式的方式来实现它(也许这是错误的?)但我显然做得不对。

0 投票
1 回答
807 浏览

perl - 在静默模式下使用 perl MooseX 扩展?

我的 ubuntu 机器上安装了 perl 5.10.1。我想安装 Moose 和 MooseX 扩展,所以我确实使用 aptitude 包管理器安装了这些包。以下是我安装的所有软件包:

我的问题是,为什么当我运行使用 MooseX::* 扩展的代码时会出现乱码?有没有办法启用静音模式?仅使用 Moose 不会在输出中显示任何其他内容,但会显示所需的结果,但如果我使用 MooseX::Declare ,我会得到以下结果:

0 投票
4 回答
1364 浏览

perl - 需要帮助安装 MooseX::Declare

我正在运行使用包管理器安装的 Perl 5.10.1。我已经从 CPAN shell 成功安装了 Moose,我尝试安装 MooseX::Declare 扩展但没有成功。这是我所做的:

无法从 lib/MooseX/Declare.pm 确定 perl 版本信息

警告:未找到先决条件 Devel::Declare 0.005011。

警告:未找到先决条件 MooseX::Method::Signatures 0.30。

这是安装开始前首先出现在终端中的内容,我在这里发布了“cpan.log”文件。

现在,我已经尝试安装上面的两个前提条件,后者取决于第一个。但是安装第一个给了我这个:

cpan[6]> 安装Devel::Declare

 为模块“Devel::Declare”运行安装

为 F/FL/FLORA/Devel-Declare-0.006000.tar.gz 运行 make

已经解包到目录 /home/jfb/.cpan/build/Devel-Declare-0.006000-6qeuWN

'/usr/bin/perl Makefile.PL INSTALLDIRS=site' 返回状态 512,不会生成

运行 make 测试

Make有一些问题,不会测试

运行 make install

Make有一些问题,不会安装

0 投票
1 回答
64 浏览

perl - 无法在角色中设置类的属性

首先,我不确定需要包含多少信息,因为我很难追踪这个问题的根源。

我有一个带有子程序的 Moose 角色(以及其他一些东西)尝试为这样的类设置属性:

问题是,它没有。紧随其后的转储$genre表明它仍然是空的:

$genre: bless( {}, 'Movie::Genre' )

更奇怪的是,当我在我的测试文件中执行 THE EXACT SAME LINE 时,它在这个转储中按预期工作:

我正在努力寻找使这两行代码不同的原因,导致一行工作而另一行失败。

关于什么条件会导致第一个示例失败并允许第二个示例成功的任何想法?如有必要,我很乐意提供更多背景信息。谢谢!

0 投票
2 回答
559 浏览

perl - 角色的驼鹿角色

我想设置一个由其他较小角色组成的便利 Moose 角色。例如,如果我有 WithAddress 和 WithPhone,我想要一个 WithContacts,它同时提供 WithAddress 和 WithPhone 以及我将来添加的任何联系方式。

我怎么能用 Moose 做到这一点?

0 投票
2 回答
1177 浏览

arrays - 深度克隆 Moose 对象,其属性为 ArrayRef[Object] 和 Set::Object

我有一个Moose对象:

现在我希望能够通过像$game2 = $game->clone;How do I deep clone it 这样的调用来克隆这个对象,以便克隆 ArrayRef 中的对象?更棘手的是,Set::Object ?

我看过MooseX::Clone,但我不清楚如何将它应用于这种情况。示例代码将不胜感激。

谢谢!

0 投票
1 回答
388 浏览

eclipse - MooseX::Declare 和 Perl EPIC(Eclipse IDE)?

如何使用带有 EPIC 插件的 Eclipse 获得对跳转到 Moose 方法的支持?(使用 F3)

他们被宣布为

0 投票
1 回答
248 浏览

perl - ctags 支持 MooseX::Declare?(Perl)

如何让 ctags 为 MooseX::Declare 方法、类、属性等生成标签?

0 投票
1 回答
306 浏览

perl - 对照非 Moose 类检查 Moose 角色

假设您有一个 Moose 类,该类需要一个执行角色的属性:

现在,我想像这样构建一个 MyMooseClass 的实例:

其中 $a_non_moose_stuff 是非 moose 类的实例,但它实现了所需的角色方法。

有没有办法让 Moose 检查我的 $a_non_moose_stuff 是否符合角色,即使它不是使用 Moose 实现的?

0 投票
1 回答
320 浏览

perl - 引用 Perl/Moose 包名称的简写?

在 Python 和 Java 中,我们必须import消除代码中完全限定的包/模块名称的重复。Perl/Moose 中是否有任何等价物?我认为如果我们不必重复,它真的会让 Moose 更好用MyApp::Model::Item。相反,我想[somehow declare] MyApp::Model::Item;稍后再简单地参考Item. 我可以想到所有这些使用类名的用例......

  • extends 'Item';
  • with 'ItemRole';
  • Item->new(name => 'thing');
  • method foo(Item $xyz) { ... }, 和MooseX::Method::Signatures
  • $var->isa('Item');
  • try { ... } catch (DatabaseError $e) { ... }, 和TryCatch
  • $Item::SOME_PACKAGE_GLOBAL_VARIABLE

如果还没有这样的事情,关于我如何开始干净地实现它的任何想法?我可以看到处理类名用作字符串的情况会很棘手。