print !grep { 3 == $_ } 2, 3, 8;
而我什麼也得不到。!grep在perl中做什麼?
我見過這個用過。
if (!grep { /^#EXTINF:/ } @lines)
更糟糕的是,很難搜索在谷歌或Duckduckgo!grep的,因爲搜索不搜索!我能找到的只是Perldocs中的幾個代碼。
print !grep { 3 == $_ } 2, 3, 8;
而我什麼也得不到。!grep在perl中做什麼?
我見過這個用過。
if (!grep { /^#EXTINF:/ } @lines)
更糟糕的是,很難搜索在谷歌或Duckduckgo!grep的,因爲搜索不搜索!我能找到的只是Perldocs中的幾個代碼。
grep的回報:
3 == $_
)此外,!
是一個perl否定,所以如果你有真值(如1),將其轉換爲假值
展開代碼:
my $a = grep { 3 == $_ } 2, 3, 8; #<-- $a takes 1 (only one element satisfies the condition)
print ! $a; #<-- prints nothing
有
grep !/foo/, @bar
之間的細微差別。如果陣列@bar爲空,則本次測試將返回什麼。如果@bar包含元素,則此測試將返回標量上下文中不匹配元素的數量,或者返回列表上下文中匹配元素的數組。
和,
!grep /foo/, @bar
如果數組@bar爲空或包含任意數量的非其中匹配的元素,則此測試將在標量上下文返回1。如果@bar包含任何匹配的元素,那麼這個測試將不會返回任何內容。
提示:'!' - >「not」。現在,只需搜索「perl grep」。或者更好的是,'perldoc -f grep'。 :P – cHao
Omg我想通了。謝謝。 – raz
請用你的發現回答你自己的問題。謝謝。 – philshem