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