问题标签 [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.
perl - 为什么 MooseX::Storage 似乎不遵循某些对象的属性特征?
我整理了一个小测试用例来证明我的问题:
我希望这会打印对象,而不是 P2 包中的“lol”属性 - 但是,我仍然可以在结果中看到这一点$stored->pack
我是否使用了 MooseX::Storage 错误,或者这看起来像错误的行为?
perl - 驼鹿还是 Meta?
我一直在尝试以多种方式做到这一点,但它们似乎都不够优雅。(我也想知道 CPAN 或 Moose 是否已经有了这个。随着时间的推移,我进行的数十次搜索都没有显示出完全匹配的内容。)
我想创建一种类
- 是其他类的 Base + Facade + Factory,它们将自身加载为目标类型。
- “工厂”是公正
Base->new( %params )
的,它根据各个子类注册的策略创建类型。 - 每个子类都知道有关Base 类域的基本信息,但我试图将其保持在最低限度。看下面的例子:
UnresolvedPath
只知道我们应该首先检查是否存在。
最明显的例子是文件系统目录和文件:
- 问题:Moose 是否为此提供了一个优雅的解决方案?还是我必须进入 Class::MOP 才能批量购买?
perl - 你如何在 Moose 中创建子类型?
我刚开始使用Moose。
我正在创建一个简单的通知对象,并想检查输入是否属于“电子邮件”类型。(暂时忽略简单的正则表达式匹配)。
从文档中我认为它应该类似于以下代码:
但我收到以下错误:
有人知道如何在 Moose 中创建自定义电子邮件子类型吗?
Moose 版本:0.72 perl 版本:5.10.0,平台:linux-ubuntu 8.10
perl - 我应该先学习 Perl 5 OO 还是 Moose?
我对 Perl 编程还比较陌生,但我知道 Perl 5 OO 的基本工作原理。然而,我从来没有用 Perl 5 OO 创建过任何项目,所以我很确定我会遇到很多陷阱。
最近我发现了关于Moose模块的炒作。我查看了一些关于 CPAN 的文档,发现它非常有趣,并且对我作为开发人员有很大帮助。此外,它似乎非常稳定和可靠。
我是否应该加强使用基本的 Perl 5 OO 语法,直到我对它非常熟悉(了解这些阶段后面发生了什么),还是您认为我应该继续直接开始使用 Moose 开发应用程序?还是我应该试试鼠标?
对此的任何想法和经验表示赞赏。
提前致谢!
perl - 在 Moose 中创建类属性的最佳方法是什么?
我需要 Moose 中的类属性。现在我在说:
perl - 在 Moose 中处理多个继承的构造函数
问候,
我正在学习Moose,我正在尝试用 Moose 编写一个CGI::Application子类,由于 CGI-App 不是基于 Moose 的事实,这使得这变得困难。
在我的其他 CGI-App 子类中,我喜欢有一个父类,它具有setup
查看子类的符号表并自动设置运行模式的方法。我想我可以使用 Moose 的元类工具以更简洁的方式实现相同的目标。所以这是我在父类中的内容:
...在我的孩子班上:
我意识到我的运行模式没有正确设置的原因是因为setup
被 CGI-App 构造函数调用,并且Moose::Object
在我的类中粘贴了它自己的构造函数。我试图用方法修饰符解决这个问题:
这给了我
然而,我有一种感觉,我正在以完全错误的方式解决这个问题,而 Moose 有更好的设施来实现我想要的,我还没有发现。
perl - Moose 的角色和特征有何不同?
我编写了一组在Moose中也使用角色实现的类和接口。我难以理解的是 Moose 特征与角色在使用和实现方面的确切差异。
Moose 文档指出:
重要的是要了解角色和特征是一回事。角色可以用作特质,特质就是角色。区分这两者的唯一一点是,一个 trait 以一种允许 Moose 将短名称解析为类名的方式打包。换句话说,对于一个 trait,调用者可以通过一个短名称来引用它,比如“Big”,Moose 会将它解析为一个类,比如 MooseX::Embiggen::Meta::Attribute::Role::Big。
我的理解是特征和角色是“相同的”。但是,当使用语法对想法进行基本测试时,use Moose -traits 'Foo'
似乎并没有达到我的预期。当然,我必须在这里遗漏一些东西。
第一个示例因“无法定位对象方法 'foo'”而失败
与这个(确实有效)相比:
perl - 如何通过 MooseX::Declare 声明一个类使用多个角色?
鉴于角色 Fooable 和 Barable 都已定义,我如何说 FooBar 类执行 Fooable 和 Barable?我没有问题说
但是当我尝试添加
我得到了不太有用的错误
为了向自己证明我没有疯,我用 Moose 重写了它。此代码有效(但比罪更丑陋):