小编Håk*_*and的帖子

在matlab中有效地创建索引向量

给定三个正整数x,y和z,使得x> y.创建以下向量的最有效方法是什么:

1,2,3,..,x-y,x+1,x+2,x+3,..,2x-y,2x+1,2x+2,2x+3,..,3x-y,3x+1,...,..,zx+1,zx+2,zx+3,..,zx-y
Run Code Online (Sandbox Code Playgroud)

matlab vector vectorization

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

使用linux find命令查找目录和目录的符号链接

对于linux中的给定目录树,我想列出:

  • 所有目录,
  • 所有指向目录的符号链接
  • 不是通过遵循符号链接找到的目录.

考虑一个空目录,然后执行

mkdir a
mkdir a/b
ln -s a c
echo "x" > f1
ln -s f1 f2
Run Code Online (Sandbox Code Playgroud)

然后find . -type d给出

.
./a
./a/b
Run Code Online (Sandbox Code Playgroud)

所以错过了符号链接./c,wheras find . -type l

./c
./f2
Run Code Online (Sandbox Code Playgroud)

它错过了目录.,./a./a/b,并且还打印了符号链接./f2,该符号链接不是目录的符号链接,而是打印到文件.

linux bash shell command find

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

perl中的匿名哈希

我开始学习Perl,所以我想在这里阅读一些帖子.现在我遇到了这段代码 /sf/answers/1561754141/(这里有点简化):

echo "1 2 3 4" | perl -lane'
  $h{@F} ||= [];
  print $_ for keys %h;
'
Run Code Online (Sandbox Code Playgroud)

这段代码做了什么,为什么打印这段代码4

我曾尝试在http://perldoc.perl.org/perlreftut.html上学习Perl参考文献,但我仍然无法弄清楚这一点.

(我对这条线感到困惑:$h{@F} ||= []..)

perl

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

即使cpanm声称它是最新的,也找不到perl模块

我试图使用该File::Slurp模块:

use v5.14;
use warnings;
use File::Slurp;

my $text = read_file( 'test.txt' ) ;
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个时,我得到错误:

Can't locate File/Slurp.pm in @INC (@INC contains: /home/fcihh/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/fcihh/perl5/lib/perl5 /home/fcihh/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/fcihh/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./p.perl line 5.
Run Code Online (Sandbox Code Playgroud)

跑步cpanm File::Slurp给出:

File::Slurp is up to date. (9999.19)
Run Code Online (Sandbox Code Playgroud)

perl

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

数组的循环移位

如何在Perl中移动圆形数组?

例如,

use strict;
use warnings;
use Data::Dump;

my $a = [[1], [3], [2], [4]];
my $shift_index = 2;
circ_shift( $a, $shift_index );
dd $a;
Run Code Online (Sandbox Code Playgroud)

应该给出输出:

[[2], [4], [1], [3]]
Run Code Online (Sandbox Code Playgroud)

$shift_index向左移位的位置数也是如此.

perl

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

锁定文件以进行读写操作

我正在编写一个应用程序,其中两个进程需要更新同一个文件file.txt.这可能会同时发生,所以我应该实现一些锁定框架.

每个进程都需要首先读取所有file.txt进程,对其进行处理,然后写出修改后的版本file.txt.所以锁定应该在第一个文件读取之前获得,并在写入之后释放.我检查了flockFcntl,但现在看来,这只能在一个文件句柄锁定,所以锁定第一读取后丢失(因为我必须关闭文件,之前,我可以重新打开后写)..

此外,如果一个进程已锁定该文件,而另一个进程尝试锁定它,则它不应该中止,而是实现某种非忙等待,直到另一个文件释放对该文件的锁定.

如何最好地实施这种锁定方案?我可以使用CPAN模块吗?

perl

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

为什么这会返回一个空数组?

为什么这会在给出的情况下返回一个空列表$sub=1000.ARGV中"$#"的目的是什么?

use strict;
my $sub = 0;
while($sub <= $#ARGV) {
print "$ARGV[$sub]\n";
++$sub;
}
print "[@ARGV]\n";
Run Code Online (Sandbox Code Playgroud)

perl

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

将BibTeX作者字段拆分为多个部分

我试图使用以下语法解析BibTeX作者字段:

use v6;
use Grammar::Tracer;

# Extract BibTeX author parts from string. The parts are separated
# by a comma and optional space around the comma
grammar Author {
    token TOP {
        <all-text> 
    }
    token all-text {
        [<author-part> [[\s* ',' \s*] || [\s* $]]]+ 
    }
    token author-part { 
        [<-[\s,]> || [\s* <!before ','>]]+
    }
}

my $str = "Rockhold, Mark L";
my $result = Author.parse( $str );
say $result;
Run Code Online (Sandbox Code Playgroud)

输出:

TOP
|  all-text
|  |  author-part
|  |  * …
Run Code Online (Sandbox Code Playgroud)

perl6 raku

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

从perl返回数组到bash

我正试图从perl到bash返回一个数组.

我的perl脚本有一个数组然后我用 return(@arr)

从我使用的bash脚本

VAR = `perl....
Run Code Online (Sandbox Code Playgroud)

当我回显VAR时,我将aray作为一个长字符串,所有数组变量连接都没有空格.

谢谢

bash perl

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

为什么xsub中的静态变量不是线程安全的?

根据perldoc threads:

从Perl 5.8开始,线程编程已经可以使用称为解释器线程的模型,它为每个线程提供了一个新的Perl解释器,默认情况下,不会导致线程之间共享数据或状态信息.

上述报价中提到了哪些类型datastate信息?根据perldoc perlxs:

从Perl 5.8开始,已经定义了一个宏框架,允许将静态数据安全地存储在可以从多线程Perl访问的XS模块中.

所以在我看来静态变量是在线程之间共享的?但Perl变量不共享?(我试图弄清楚哪种数据是线程安全的,以及如何创建线程安全模块)

perl multithreading xs

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

标签 统计

perl ×7

bash ×2

command ×1

find ×1

linux ×1

matlab ×1

multithreading ×1

perl6 ×1

raku ×1

shell ×1

vector ×1

vectorization ×1

xs ×1