问题标签 [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.
perl - 我可以在 Dancer 中实例化一个对象以返回要显示的值吗?
我的 Dancer 应用程序模块中有以下代码:
我有一个名为 Dice.pm 的 Moops 类,如果我使用 .pl 文件对其进行测试,它工作得很好,但是当我尝试通过 Web 浏览器访问它时,我收到以下错误:无法找到对象方法“新”通过包“骰子”(也许你忘了加载“骰子”?)。
我可以用舞者做这个吗?
以下是 Dice.pm 的相关代码:
perl - 将 MooseX 元属性与 Moops 一起使用
是否可以将 MooseX 元属性与 Moops 一起使用?
考虑这个 Moose 示例代码:
我试图将其转换为 Moops,如下所示:
perl - ctags 对 moops 的支持
Moops通过以下结构增强了 perl 语法:
并通过引入新关键字fun
和添加声明成员函数签名的可能性method
:
我使用 vim 和标记文件来导航我的代码库,但是这些新关键字对于 是未知的ctags
,因此类、函数和方法没有被索引。我该如何改善这种情况?
perl - 用于 Moops 的 class_has
有没有类似MoopsMooseX::ClassAttribute
的东西?
请注意,我想要使用Moo
后端的静态/类属性,因为我不想引入Moose
后端。
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[]"
perl - 如何在 Moops 中重载方法?
我想重载 Moops 中的一些方法。
我已经尝试了以下代码:
但它通过说 setIdNum 被重新定义而出错。
perl - Moops lexical_has 和默认值
我试图了解lexical_has
属性如何在Moops中工作。此功能来自,Lexical::Accessor
并且据我了解,该lexical_has
函数能够通过使用标量引用(保存在 中)生成对可能“在词法上具有”的CODE
任何属性的引用。然后可以使用 CODE 引用以“强制”范围的方式访问类属性(因为它们是“由内而外”的??)。但这只是我的猜测和疯狂的猜测,所以我希望能有更好的解释。我还想知道为什么这种方法在以下示例中似乎不起作用:class
accessor =>
从作为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 理论。
mocking - 通用跟踪模拟类
我正在尝试使用 moops 构建一个方便的模拟类:
这产生:
所以,问题似乎是,当我使用快捷方式时,它caller()
总是返回。m
around m,l ..
像这样定义类:
有效,但写起来有点冗长和麻烦。
有没有更好的选择来用 Moops 实现这样的目标?