【发布时间】:2018-07-12 02:45:07
【问题描述】:
我创建了一个包含multi 函数重载定义的类,但是当我尝试调用该类和重载方法时,它会引发错误。可以运行以产生此错误的工作示例如下所示:
class Test
{
multi test(@data) {
return test(@data, @data.elems);
}
multi test(@data, $length) {
return 0;
}
}
my @t = 't1', 't2', 't3';
say Test.test(@t);
错误:
No such method 'test' for invocant of type 'Test'. Did you mean any of these?
List
Set
gist
list
in block <unit> at test.p6 line 13
我可能做错了,有人可以指出正确的方法吗?
编辑:我正在有效地尝试把它变成一个模块,我可以将它用于其他事情。
【问题讨论】:
-
见The visual map for
Routinerelationships。multi可以应用于macro、sub、method、regex、rule、token或submethod的定义。如果你不说它默认为sub。
标签: raku