小编evo*_*ion的帖子

如何组合两个Perl哈希?

在我采取冗长/冗长/不正确的方式之前,我问这个问题.

我正在使用Perl.我有两个哈希.一个包含默认值,一个可能是用户定义的值,在某些情况下会覆盖默认值.

将这些哈希值连接在一起的最简单方法是什么,但是对于我们选择用户值的相同键,存在默认值和用户定义值.

$defaults = {
 type => paper,
 number => 3
};

 $user_defined = {
 number => 5
};
Run Code Online (Sandbox Code Playgroud)

所需的最终连接输出/哈希是

$result = {
    type => paper,
    number => 5,
}
Run Code Online (Sandbox Code Playgroud)

perl

3
推荐指数
1
解决办法
142
查看次数

Perl OO方法调用第一个参数值( - >)

就Perl OO而言,具体到底是做->什么的?

例如,我打电话给主:

$result = a::b->mymethod( );
Run Code Online (Sandbox Code Playgroud)

在我定义的包中mymethod(),我使用以下内容:

    my( $class ) = @_;
Run Code Online (Sandbox Code Playgroud)

在主要方面,我显然没有传递任何参数mymethod(),所以$class参数来自何处?有没有人对此有一个很好的解释或解释这个的文件?

perl

2
推荐指数
1
解决办法
2046
查看次数

更清洁的方式写下面的内容

在Perl中编写以下代码的最有效方法是什么:

my $index = 0;
foreach ( @spec ) {
    if ( $module =~ m/$_/ ) {
        splice(@spec, $index, 0, $module);
        last;         
    }
    $index++;
}
Run Code Online (Sandbox Code Playgroud)

这很好用.看起来有点罗嗦.我的想法是,在$module数组中找到匹配项时,我添加一个条目.我想按照一定的顺序保持数组并进行排序.

即如果我的数组是[a,b,c,d]和我的$module' c',我希望结果数组[a,b,c,c,d].

perl

2
推荐指数
1
解决办法
122
查看次数

Perl -e并打印$ _

我有一个类似于的循环:

if ( -e "$hash->{'key'}/filename" ) {
    print $_
}
Run Code Online (Sandbox Code Playgroud)

我虽然$ _会引用'-e'的参数但事实并非如此.我可以在这里使用的任何特殊变量?

perl

2
推荐指数
1
解决办法
337
查看次数

标签和Nerdtree

我正在寻找一种方法:

  • 在所有打开的Tabs OR中坚持NerdTree
  • 在新选项卡中打开文件,同时保持对NERDTree的关注

我尝试了很多方法.例如使用

autocmd TabEnter * NERDTreeToggle 
Run Code Online (Sandbox Code Playgroud)

那变得非常混乱.该选项卡右侧显示NERDTree.如果我专注于另一个选项卡并返回到新选项卡,则会在右侧正确打开NERDTree的第三个分割.

我也试图T在打开文件时使用它.焦点不会更改为新文件,但NERDTree会消失,我将保留在"无名称"选项卡中.

有人在这里有一个简洁的解决方案?

更新:

将NERDTree重置为HEAD - T打开时开始工作

我仍然非常喜欢在所有选项卡的左侧默认打开NERDTree的解决方案.

vi vim nerdtree

0
推荐指数
1
解决办法
2591
查看次数

标签 统计

perl ×4

nerdtree ×1

vi ×1

vim ×1