问题标签 [moops]

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 回答
161 浏览

perl - 我可以在 Dancer 中实例化一个对象以返回要显示的值吗?

我的 Dancer 应用程序模块中有以下代码:

我有一个名为 Dice.pm 的 Moops 类,如果我使用 .pl 文件对其进行测试,它工作得很好,但是当我尝试通过 Web 浏览器访问它时,我收到以下错误:无法找到对象方法“新”通过包“骰子”(也许你忘了加载“骰子”?)

我可以用舞者做这个吗?

以下是 Dice.pm 的相关代码:

0 投票
1 回答
126 浏览

perl - 使用 Moops 和 Moose 时属性访问器不满足角色要求

考虑以下代码示例:

“编译”失败,因为属性访问器似乎不满足角色请求m1

使用plainMoose并且Moose::Role有效(如此处所述)。此外,不使用Moose后端也适用于.

我已经尝试切换with语句的顺序无济于事。用方法声明替换属性可以解决问题,但我需要一种方法来指定属性要求。

有没有办法让这个工作?

0 投票
1 回答
168 浏览

perl - 将 MooseX 元属性与 Moops 一起使用

是否可以将 MooseX 元属性与 Moops 一起使用?

考虑这个 Moose 示例代码:

我试图将其转换为 Moops,如下所示:

0 投票
2 回答
332 浏览

perl - ctags 对 moops 的支持

Moops通过以下结构增强了 perl 语法:

并通过引入新关键字fun和添加声明成员函数签名的可能性method

我使用 vim 和标记文件来导航我的代码库,但是这些新关键字对于 是未知的ctags,因此类、函数和方法没有被索引。我该如何改善这种情况?

0 投票
1 回答
149 浏览

perl - 将函数/子程序导入子类

我正在使用Moops,我希望这样的工作:

相反,这会产生:

我可以通过继承ExporterinA和这样的use语句来“解决”这个问题B

这看起来有点笨拙,但如果A在另一个文件中定义它会变得更糟。然后我必须在这样之外添加第二个use Arequire不会做)B

有没有办法让(导出的)函数的词法包含更优雅地工作?

0 投票
2 回答
95 浏览

perl - 用于 Moops 的 class_has

有没有类似MoopsMooseX::ClassAttribute的东西?

请注意,我想要使用Moo后端的静态/类属性,因为我不想引入Moose后端。

0 投票
1 回答
114 浏览

perl - Can someone please explain how to implement and utilize privately-scoped arrays in Moops?

I am trying to learn Moops and I can't quite grasp how to use populate and iterate over lexical_has arrayRefs. Can you demonstrate their usage here with code please?

I wrote the following:

I tried to populate it thusly:

But it keeps error-ing on me "Syntax error near >$people[]"

0 投票
1 回答
68 浏览

perl - 如何在 Moops 中重载方法?

我想重载 Moops 中的一些方法。

我已经尝试了以下代码:

但它通过说 setIdNum 被重新定义而出错。

0 投票
1 回答
382 浏览

perl - Moops lexical_has 和默认值

我试图了解lexical_has属性如何在Moops中工作。此功能来自,Lexical::Accessor并且据我了解,该lexical_has函数能够通过使用标量引用(保存在 中)生成对可能“在词法上具有”的CODE任何属性的引用。然后可以使用 CODE 引用以“强制”范围的方式访问类属性(因为它们是“由内而外”的??)。但这只是我的猜测和疯狂的猜测,所以我希望能有更好的解释。我还想知道为什么这种方法在以下示例中似乎不起作用:classaccessor =>

从作为Moops 介绍的一部分的示例开始工作,我正在创建一个class Car

然后我实例化对象并尝试使用它的方法来访问它的属性:

使用自定义访问器的最后一行让我感到困惑:什么也没有发生。我是否缺少该类的属性或设置(将其标记为急切或lazy => 0不起作用)?我需要一个BUILD函数吗?我缺少初始化步骤吗?

注意如果我向类中添加一个 setter 方法,如下所示:

然后在我的最后一系列声明中调用它:

get_top_speed()方法开始正确返回。这是预期的吗?如果是这样,课程设置中的默认设置如何工作?


我在这里将其报告为错误:https ://rt.cpan.org/Public/Bug/Display.html?id=101024 。

由于人们可以通过使用“perl 约定”(即不使用lexical_has私有属性并在私有属性前加上“ ”)轻松解决_这个问题,而且这个问题是由错误引起的,因此我不希望修复或修补程序作为答案。对于赏金-我希望能解释一下Lexical::Accessor应该如何工作;它如何“强制”访问者的私有内部范围;也许还有一些关于为什么这是一件好事的 CS 理论。

0 投票
1 回答
48 浏览

mocking - 通用跟踪模拟类

我正在尝试使用 moops 构建一个方便的模拟类:

这产生:

所以,问题似乎是,当我使用快捷方式时,它caller()总是返回。maround m,l ..

像这样定义类:

有效,但写起来有点冗长和麻烦。

有没有更好的选择来用 Moops 实现这样的目标?