小编Rob*_*ert的帖子

在JavaScript中将数组作为函数参数传递

我想使用数组作为参数来调用函数:

const x = ['p0', 'p1', 'p2'];
call_me(x[0], x[1], x[2]); // I don't like it

function call_me (param0, param1, param2 ) {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

有路过的内容的一种更好的方式x进入call_me()

javascript arrays function call

279
推荐指数
7
解决办法
47万
查看次数

使用反射时性能中断$ foo - > $ bar()

我想知道当我使用反射来调用一个名为i的字符串的方法时会发生什么:

my $foo = Foo->new();
my $method = 'myMethod';
$foo->$method();
Run Code Online (Sandbox Code Playgroud)

比原生呼叫慢约20%:

$foo->myMethod();
Run Code Online (Sandbox Code Playgroud)

有关如何实现perl反射的文档的任何指针都会有所帮助.

谢谢.

reflection perl performance

5
推荐指数
2
解决办法
207
查看次数

PPI :: Document bug还是一些特殊的子程序名?

我有一些PPI模块的问题:

假设我有Foo.pm:

package Foo;

sub foo0 { 1; }
sub foo1 { 1; }
sub foo2 { 1; }
sub foo3 { 1; }

1;
Run Code Online (Sandbox Code Playgroud)

我想用PPI来获得所有潜艇:

#!/usr/bin/env perl
use PPI;
my $filename = shift;
my $Document = PPI::Document->new($filename);
my $subs = $Document->find('PPI::Statement::Sub');
warn $#$subs;
Run Code Online (Sandbox Code Playgroud)

结果我得到'3'这是正确的.

但当我在Foo.pm中的一个潜艇称为'sub vN ...'时,其中N是一个数字,fe:

sub v1foo {}
Run Code Online (Sandbox Code Playgroud)

要么

sub v3bar {}
Run Code Online (Sandbox Code Playgroud)

或者干脆

sub v2 {}
Run Code Online (Sandbox Code Playgroud)

PPI :: Document find似乎打破了解析并只返回已经找到的subs.所以,如果我修改Foo:

package Foo;

sub foo0 { 1; }
sub foo1 { 1; }
sub v2xx { 1; } …
Run Code Online (Sandbox Code Playgroud)

perl parsing ppi

5
推荐指数
1
解决办法
146
查看次数

使用它时将参数传递给perl包

如何在使用包时传递一些参数,例如:

use Test::More tests => 21;   
Run Code Online (Sandbox Code Playgroud)

我无法找到有关此专长的任何有价值的文件.传递这些论点是否有任何利弊?

perl arguments packages

5
推荐指数
1
解决办法
309
查看次数