Jim*_*ger 6 string subroutine raku
给出以下代码:
sub foo {
say 'Hello';
}
my $call_me = 'foo';
Run Code Online (Sandbox Code Playgroud)
我如何调用sub foousing $call_me?
使用:
::( "&" ~ $call_me )()
Run Code Online (Sandbox Code Playgroud)
::访问当前包中的符号表;subs 与 sigil 一起存储在该符号表中,&这就是为什么我们必须将~名称与该名称连接起来才能从字符串到函数;该符号表将标识符映射到实际函数。
对于方法来说,这更容易:
my $method-name = "foo";
$object."$method-name"();
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在其中创建一个名称"",它不必只是一个变量名称。
另请注意,()在这种情况下是必需的。
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |