moo

    1熱度

    1回答

    我嘗試將Perl閉包變爲Moo訪問器,如下面的代碼所示。不幸的是,代碼與Moose一起工作,但與Moo一起拋出異常。 請幫我寫一個Moo代碼,它帶有由Perl閉包定義的讀寫訪問器(不是讀取和存儲簡單值的默認訪問器,而是讀取和寫入應該調用我的閉包的訪問器)。 #!/usr/bin/perl package X; use Moo; my $BusinessClass = "X"; my $

    2熱度

    1回答

    我正在研究需要在構造函數中添加包裝的MooX模塊。 我試過方法修改或直接改變導入方法*{"${target}::new"}沒有效果。 那麼我該如何做到這一點?

    1熱度

    1回答

    對於Perl Moo對象的某些字段,我想在將空字符串分配給undef字段時將其替換爲空字符串。 這就是我想要的:$obj->x("")使字段x未定義。 請幫助開發一個這樣做的Moo擴展。 一個可能的方式做到這一點: sub make_field_undef { my ($class, $field_name) = @_; eval "package $class";

    2熱度

    1回答

    我們使用Perl Moo。 讓有定義一組屬性: package C; use Moo; use Types::Standard qw(Str Int Num Maybe); has 'x' => (is=>'rw', isa=>Str); has 'y' => (is=>'rw', isa=>Int); has 'z' => (is=>'rw', isa=>Int); # here

    1熱度

    1回答

    最初的主題開始於here,但我需要一個有效的代碼示例如何使用Moo或Moose正確地委派屬性。 基於文檔我寫了這個代碼來檢查: package Cat; use Moo; has 'token' => (is => 'rw', default => '12345'); has 'tiger' => (is => 'rw', default => sub { my $self = shift

    6熱度

    1回答

    使用Moo::Role,我發現循環導入默默阻止了我的方法的修改器before的執行。 我有一個Moo::Role在MyRole.pm: package MyRole; use Moo::Role; use MyB; requires 'the_method'; before the_method => sub { die 'This has been correctly executed'

    3熱度

    1回答

    對象不可見鑒於以下幾點: 武2.001001; 麪包::板0.34; 一個Bread::Board容器 基類Foo與屬性str和around改性劑str 子類Bar延伸Foo 問題: [GOOD]從普通實例化對象時Bar,Foo::str修改器被執行; [BAD]當從容器服務實例化對象爲Bar,Foo::str修飾符時不執行; [WORSE] [BAD]發生後,從普通Bar實例化不再有效; 代碼示

    1熱度

    1回答

    以下是我的實際代碼的簡化示例: #!/usr/bin/perl package X; use Moo; sub add_attr_for_another_package { my ($package) = @_; eval "package $package"; has 'q' => (is=>'rw', default=>123); } packag

    0熱度

    2回答

    我想在dzsoft perl編輯器中運行.pm程序。但我得到這個錯誤 Can't locate Moo.pm in @INC (@INC contains: C:\Users\123\Desktop\ C:/Perl64/site/lib C:/Perl64/lib .) at UniNE.pm line 5. 我interpertor是的ActivePerl-5.18.2.1802-MSWi

    5熱度

    1回答

    我想減弱由Sub::Quote生成的代碼中捕獲的變量。例如,這裏的不帶引號的替代: use 5.10.0; use Scalar::Util qw[ weaken ]; { my $s = 'foo'; my $x = sub { say $s }; weaken(my $y = $x); my $bar = sub { &$y }; &$b