作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须修改 Perl 脚本,这是我第一次尝试理解 Perl。我看到以下内容:
my %trades;
...
foreach my $row (@$rows) {
@{$trades{pop @$row}} = @$row;
}
@$row
并设置
%trades
的哈希键成为弹出的项目并将值设置为
@$row
.
最佳答案
要理解那段代码,我们需要清楚三件事:
EXPR_A = EXPR_B
EXPR_B
评价前EXPR_A
. @new_array = @old_array
@old_array
的值转至 @new_array
. @{ $trades{$key} }
$key
的条目在 %trades
散列,并将其视为数组引用。 foreach my $row (@$rows) {
my @copy = @$row;
my $key = pop @$row;
@{ $trades{$key} } = @copy;
}
$rows = [
[1, 2, "keyA"],
[3, 4, "keyB"],
];
%trades = (
keyA => [1, 2, "keyA"],
keyB => [3, 4, "keyB"],
);
$rows = [
[1, 2],
[3, 4],
];
关于perl - 不寻常的 Perl 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16989046/
我是一名优秀的程序员,十分优秀!