uzl*_*xxx 7 reference function raku function-reference
正如文档中所解释的,您可以通过在前面添加 sigil 来引用现有函数&:
&say # reference to the `say` function
&infix:<+> # reference to the infix `+` operator
Run Code Online (Sandbox Code Playgroud)
我该如何为方法执行此操作?
本文的作者解释了获取方法对象的几种可能性,但这里最相关的是使用 MOP 方法.^lookup:
say Array.^lookup(\'push\').raku\n\n#`\xc2\xab\nproto method push ($: |) {*}\n\xc2\xbb\nRun Code Online (Sandbox Code Playgroud)\n例如,要获取所有候选人的方法签名,Array您push可以这样做:
.say for Array.^lookup(\'push\').candidates.map(*.signature);\n\n#`\xc2\xab\n(Any:U \\SELF: |values)\n(Array:D: Slip \\value, *%_ --> Array:D)\n(Array:D: \\value, *%_ --> Array:D)\n(Array:D: **@values is raw, *%_ --> Array:D)\n\xc2\xbb\nRun Code Online (Sandbox Code Playgroud)\n