6

文法がクラスまたはシングルトンであることに興味があったので、次の小さなプログラムを作成して調べました。

grammar Mini {
    token TOP { \* <word> \* }
    token word { \w+ }
}

proto sub is-class( | ) { * };
multi sub is-class( Grammar:D $g ) { return "Object" };
multi sub is-class( Grammar:U $g ) { return "Class" };

say is-class( Mini );

これは複数のディスパッチを使用してそれを見つけ、Mini実際にはクラスであることがわかります。一般に、これを見つけるためのより短い方法はありますか? または、パッケージがインスタンスである可能性のある実際のクラスを知る必要がない方法はありますか?

4

1 に答える 1