我是perl初學者,我正在閱讀grep
函數來過濾列表。我遇到了以下程序。
#!/usr/bin/perl
use strict;
use warnings;
# initialize an array
my @array = qw(3 4 5 6 7 8 9);
# first syntax form:
my @subArray = grep { $_ & 1 } @array;
聲明my @subArray = grep { $_ & 1 } @array;
回報奇數號碼@array
。我不明白表達式($_ & 1
)是如何工作的。我在谷歌搜索,但沒有找到任何有用的鏈接。
那是什麼樣的特殊算子?
是否有任何其他變種EXPR?
在此先感謝。
供參考:這是一個非常整齊劈**應從未在生產代碼中使用**除非發現僅奇數元素的動作基準爲性能瓶頸的更具可讀性的實現。 – DVK
@DVK嗯,至於我的興趣:這個提示用過嗎? '$ _ || = $ val' – gaussblurinc
@loldop - '|| ='操作符是完全正確的慣用Perl,不是黑客。然而,使用'$ _'而不是使用自編寫的命名變量往往是編寫不好的代碼的標誌,除非在非常短的'map' /'grep'塊中使用。 – DVK