相关疑难解决方法(0)

82
推荐指数
3
解决办法
20万
查看次数

类中的私有属性使得类型化的公共属性未定义

我正在写一个看起来像这样的课程:

class ListenSocket is Tap {
    has         $!VMIO;
    has Promise $.socket-host;
    has Promise $.socket-port;

    method new(&on-close, Mu :$VMIO, Promise :$socket-host, Promise :$socket-port) {
        self.bless: :&on-close, :$VMIO, :$socket-host, :$socket-port;
    }

    submethod BUILD(Mu :$!VMIO) { }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试构建类与定义的承诺$socket-host$socket-port,其在类属性最终成为未定义无论出于何种原因.我该怎么做才能解决这个问题?

perl6

8
推荐指数
1
解决办法
122
查看次数

私有属性默认是由.perl和.gist隐藏的

情况似乎是这样的:

class Foo { has $!bar }; say Foo.new( :3bar ).perl # OUTPUT: «Foo.new?» 
Run Code Online (Sandbox Code Playgroud)

文档说它依赖于实现,但我想知道这是否真的有意义.

oop perl6

6
推荐指数
1
解决办法
102
查看次数

标签 统计

oop ×2

perl6 ×2

access-modifiers ×1

class ×1

definition ×1