gpt4 book ai didi

perl - 禁止 Moose 类中的非属性参数

转载 作者:行者123 更新时间:2023-12-05 00:24:37 32 4
gpt4 key购买 nike

如果 Moose 的构造函数调用中有额外的参数不是属性,有没有办法死?例如,这个:

package Shoe;
use Moose;
has 'size' => (is => 'ro', isa => 'Num');
has 'color' => (is => 'ro', isa => 'Str', default => 'brown');
1;

会死在
my $sneaker = Shoe->new(size => 11, colour => 'white');

因为 colour不是 Shoe 的属性.

我可以发誓我已经看到了一个模块或其他东西可以做到这一点,但我找不到它。

最佳答案

对我来说作品MooseX::StrictConstructor :

package Shoe;
use Moose;
use MooseX::StrictConstructor; # <-- that's all what need
has 'size' => (is => 'ro', isa => 'Num');
has 'color' => (is => 'ro', isa => 'Str');
1;

package main;
my $sneaker = Shoe->new(size => 11, colour => 'white'); #blows up

关于perl - 禁止 Moose 类中的非属性参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860844/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com