作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
具体来说,我想将 rcols 与 PERLCOLS 选项一起使用。
这是我想要做的:
my @array;
getColumn(\@array, $file, 4); # get the fourth column from file
\@array
就可以了,但为了向后兼容,我不想这样做。这是我使用数组引用引用的方法:
sub getColumn {
my ($arefref, $file, $colNum) = @_;
my @read = rcols $file, { PERLCOLS => [$colNum] };
$$arefref = $read[-1];
return;
}
@$aref = @{$read[-1]}
之类的东西。 ,它,afaic,单独复制每个元素。
PDL::IO::Misc
documentation ,似乎 perl 数组应该是
$read[0]
但事实并非如此。
PERLCOLS - an array of column numbers which are to be read into perl arrays rather than piddles. Any columns not specified in the explicit list of columns to read will be returned after the explicit columns. (default B).
最佳答案
我不明白为什么这不起作用:
my $arr_ref;
getColumn( $arr_ref, $file, 4 );
sub getColumn {
my ( $arr_ref, $file, $colNum ) = @_;
my @read = rcols, $file, { PERLCOLS => [ $colNum ] };
# At this point, @read is a list of PDLs and array references.
$arr_ref = $read[-1];
}
rcols()
文档,看起来如果你添加
PERLCOLS
选项它将您请求的任何列作为数组引用返回,因此您应该能够将它分配给您传入的数组引用。
rcols()
将首先将文件中的所有列作为 PDL 返回,然后将您请求的列作为 Perl 数组引用返回,这就是为什么您的数组引用出现在
$read[-1]
中的原因。 .
关于perl - 如何在具有传递引用的子例程中使用 PDL rcols?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868153/
我是一名优秀的程序员,十分优秀!