梅森中的驼鹿 - 未设置默认数组值



我在组件中有一些字段(包含在<&amp;file.mi>的基本组件中,这里没有什么花哨的),我不知道如何为数组设置默认值。
我的定义是这样的:

<%class>
    has 'field' => (is => 'ro', isa => 'ArrayRef[Int]', default => sub{[1,3]});
</%class>

然后在

<%init>
    dp_live($.field);
</%init>

我得到了一个空数组。我在互联网上找到的任何东西似乎都不起作用。我确定这是次要的事情,我只是看不到它。

谢谢。

出于某种原因,泥瓦匠不喜欢类型。这有效:

<%class>
        has 'field' => (is => 'ro', default => sub{[1,3]});
</%class>
<pre>
<% dh $.field %>
</pre>

和打印:

[dh at .../testpoet/comps/ar.mc line 6.] [99751] [
  1,
  3
]

顺便说一句,你为什么使用:

default => sub{[1,3]});

而不是

default => sub{[1,3]});

编辑

我将这个问题转发给梅森用户邮件列表,诗人/梅森(乔纳森·斯沃茨)的作者非常迅速地做出了回应,并将诗人更新到修复了该错误的 0.15 版。

所以,如果你把你的诗人更新到 0.15

has 'field' => (is => 'ro', isa => 'ArrayRef[Int]', default => sub{[1,3]});

应该工作。

相关内容

  • 没有找到相关文章

最新更新