篩選器是函數(shù)的一種特殊形式。 定義篩選器: Filter(關(guān)鍵字) 篩選器名 (參數(shù)) {代碼} 與定義函數(shù)不同的是,函數(shù)使用"$input"變量來從管道符中獲取信息,而篩選器使用的是變量"$_"。在對(duì)數(shù)據(jù)的處理方面,函數(shù)與篩選器也有著不同,在函數(shù)中,"$input"變量會(huì)接受所有的信息,再進(jìn)行運(yùn)算,而在篩選器中,"$_"變量會(huì)一邊接受來自管道符的信息,一邊進(jìn)行篩選(運(yùn)算)操作。 總結(jié)說來,對(duì)于函數(shù):管道符將數(shù)據(jù)一次以集合方式傳入函數(shù)內(nèi)部,函數(shù)需要使用循環(huán)或者遞歸方式處理。對(duì)于篩選器:管道符每傳入一個(gè)數(shù)據(jù),代碼就執(zhí)行一次,直至所有數(shù)據(jù)傳入完畢。 上一節(jié)講述函數(shù)的最后,使用了如下的例子: function fun{ begin{ "Start" $i=1 } process{ "run "+$i $_.name $i++ } end{ "End" } } ls | fun 在這里,對(duì)其稍作修改,改為: function fun{ "run" $_.name } ls | fun 運(yùn)行結(jié)果如下: ![]() 可以看到,并沒有做任何"ls"輸出。在原示例中,因?yàn)槭褂昧?process"聲明,因此,代碼塊得以往復(fù)執(zhí)行直至數(shù)據(jù)處理結(jié)束,但是,此例中其結(jié)果與之大相徑庭。 若將其修改為如下形式: filter fun{ "run" $_.name } ls | fun 運(yùn)行結(jié)果: ![]() 如此便可以看到與上一節(jié)內(nèi)容一樣的輸出。 也就是說,內(nèi)部含有"process"標(biāo)記代碼塊的函數(shù),同樣具有篩選器的作用。 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信