小编tri*_*ged的帖子

算法效率改进

首先,如果有人提出这个问题,我想道歉.很难找到答案,无法找到如何创建数组哈希和哈希的数组....

我正在创建一个日志分析器.每个错误条目都在表单中

timestamp # # human_timestamp errno #
Run Code Online (Sandbox Code Playgroud)

我使用映射函数创建了散列哈希,以执行以下操作:

$logRef->{++$errCnt} =
{
    line       => $lineNum,
    timestamp  => $timestamp,
    humanStamp => $humanStamp,
    errno      => $errno,
    text       => ''
};
Run Code Online (Sandbox Code Playgroud)

稍后我会做一些分析,我想在行号之间隔离条目.分析条目也存储在哈希中......

$analysis{++$iteration} =
{
    result    => $result,
    startLine => $startLine,
    endLine   => $endLine,
    errors    => undef
};
Run Code Online (Sandbox Code Playgroud)

$ analysis {errors}将是一个数组引用.通过执行以下操作填充它.

foreach my $iteration ( keys %analysis )
{
    my @errKeys = grep { $logRef->{$_}{line} >= $analysis{$iteration}{startLine} &&
                         $logRef->{$_}{line} <= $analysis{$iteration}{endLine} }
                  keys %$logRef;

    my @errs = ();
    push @errs, $logRef->{$_}{errno} foreach ( …
Run Code Online (Sandbox Code Playgroud)

perl perl-data-structures

4
推荐指数
1
解决办法
114
查看次数

在vimrc中切换匹配

我的vimrc文件中有以下几行:

hi ExtraWhitespace cterm=NONE ctermbg=green ctermfg=green guibg=green guifg=green
match ExtraWhitespace /\s\+$\|\t/
Run Code Online (Sandbox Code Playgroud)

这些行将突出显示除空格之外没有字符的所有行以及任何制表符.我想添加一个函数来切换突出显示空格.

map <F8> :call ToggleWhitespaceMatching()<cr>
Run Code Online (Sandbox Code Playgroud)

我试着写自己的,但一直没能使它工作.有人可以建议一个功能来完成这个.此外,我希望默认情况下匹配是打开的.

linux vi vim

4
推荐指数
1
解决办法
471
查看次数

标签 统计

linux ×1

perl ×1

perl-data-structures ×1

vi ×1

vim ×1