gpt4 book ai didi

raku - 判断一个容器是类还是对象

转载 作者:行者123 更新时间:2023-12-02 09:39:11 25 4
gpt4 key购买 nike

我很好奇grammars是类还是单例,所以我创建了这个小程序来找出答案:

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 );

这使用了多重分派(dispatch)来发现这一点,结果发现 Mini 实际上是一个类。一般来说,是否有更短的方法来找出这个问题?或者一种不需要知道包可能是其实例的实际类的方法?

最佳答案

您可以通过 DEFINITE 消除“实例”和“类”的歧义,即

Mini.DEFINITE ?? 'Object' !! 'Class'

或者更确切地说

Mini.DEFINITE ?? 'concrete object' !! 'type object'

应该可以解决问题。

关于raku - 判断一个容器是类还是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52714030/

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