警告:此角色是 Rakudo 实现的一部分,不属于语言规范。
此角色实现基于相关(通常是“超类”/“父类”)类型的 MRO 定位方法。
方法§
方法 find_method§
method find_method(, , :, *)
给定一个方法名,它将返回该名称的方法对象,该对象在方法解析顺序 (MRO) 中最接近。如果找不到方法,它将返回特定于 VM 的哨兵值(通常是低级 NULL 值),可以使用对定义性的测试对其进行测试
for <upper-case uc># OUTPUT:# method `upper-case` not found# FOO
如果提供了 :no_fallback
,则不考虑后备方法。
方法 find_method_qualified§
method find_method_qualified(, , )
给定一个方法名和一个类型,从该类型返回方法。这用于类似这样的调用中
self.SomeParentClass::the_method();
方法 can§
method can(, )
返回对象可以执行的该名称的方法列表。
方法 publish_method_cache§
method publish_method_cache()
遍历 MRO 并将方法添加到缓存中,除非类层次结构中较低位置的另一个方法“隐藏”了它。