亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PowerShell > 正文

探索PowerShell(十一)函數介紹

2020-10-29 21:09:59
字體:
來源:轉載
供稿:網友
一個腳本的功能可能有很多,但是并非都是通過一段代碼來完成的。在一個出色的腳本中,實現各個功能代碼的獨立性,可以保證這個腳本具有高可用性和易維護性,并且當我們改進或刪減功能時只需刪除對應的代碼塊即可。通常,代碼塊就是指函數,調用函數,就是執行不同的代碼塊,以便實現各種功能。

先看一個例子:
復制代碼 代碼如下:

function Time {Get-Date} <enter>

這樣,我們就有了一個新函數"Time",其功能實現代碼就是"{Get-Date}"。

嘗試調用它:


與編程語言一樣,自定義函數同樣可以聲明參數:

function(關鍵字) 函數名 (參數) {代碼}


例如:
復制代碼 代碼如下:

function add ($x,$y)
{
$n = $x + $y
“$x+$y=$n”
}

運行結果:



在上例這個add函數中,如果參數為空,則不會產生運算。并且,在上例中的變量$n僅對函數內部有效,在函數之外,是不存在此變量的,也就是說,$n是一個局部變量。

上面的代碼還可以用另一種方法來實現:
復制代碼 代碼如下:

function add
{
param ($x,$y)
$n = $x + $y
“$x+$y=$n”
}

其中,"param"的作用是聲明參數。

大多數函數對于參數的數據類型都是有要求的,例如上列示例,如果要求函數實現運算功能,則要求參數使用數字類型,如果要求的功能是字符串相加,則要求為字符類型。這就要求在編寫函數時,聲明參數的同時聲明其數據類型,最好也賦予其默認值,這樣在調用時才不會發生錯誤,其實很多錯誤可能已經發生但是我們卻看不到,因為不一定所有的函數都有輸出,可能只是將結果進行傳遞,這樣,將會給排錯帶來很大困難。

例:
復制代碼 代碼如下:

function add
{
param ([int]$x=0,[int]$y=0)
$n = $x + $y
"$x+$y=$n"
}

那么,通過前面教程的內容,可以知道,很多功能的實現并不是通過簡單的參數傳遞,而是使用了管道符"|",那么,如何讓我們的函數也支持管道符功能呢?

只需在函數中需要接受數據的地方使用"$input"變量即可。如下例所示:
復制代碼 代碼如下:

function FindWindowsFolder
{
$input | where-object {$_.Name -eq "Windows"}
}

使用如下語句調用:

ls -path c:/ | FindWindowsFolder <enter>

運行結果:



函數的階段處理

在函數中,還可以進一步分為下列3個處理步驟:

1. begin - 只在函數第一次開始時執行一次,適用于放置初始化函數的代碼。
2. process - 每一次調用函數時都執行
3. end - 只在函數結束時執行一次

并不是所有的函數都需要這三個步驟,但是一旦選擇使用這種函數表達格式,在這三個代碼塊之外不能再存在其他代碼,并且,每個代碼塊只能出現一次。

一個典型的例子:
復制代碼 代碼如下:

function fun{
begin{
"Start"
$i=1
}
process{
"run "+$i
$_.name
$i++
}
end{
"End"
}
}
ls | fun

運行結果:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品尤物福利片在线观看| 国产精品中文久久久久久久| 国产91在线高潮白浆在线观看| 欧美一级视频一区二区| 国产精品视频久久| 国产精品极品尤物在线观看| 成人av色在线观看| 国产精品久久久久久五月尺| 亚洲综合日韩中文字幕v在线| 国产伊人精品在线| 福利视频导航一区| 国产成人一区二区在线| 国产精品露脸自拍| 日韩av在线电影网| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产另类 国产精品国产免费| 国产在线视频一区| 日韩一级裸体免费视频| 欧美性videos高清精品| 成人h猎奇视频网站| 久久久国产91| 日本不卡视频在线播放| 4438全国成人免费| 亚洲欧美一区二区三区四区| 久久精品国产91精品亚洲| 亚洲三级黄色在线观看| 国产精品美女主播在线观看纯欲| 日本成人免费在线| 日韩av网站导航| 国产激情综合五月久久| 成人激情视频在线观看| 欧美在线精品免播放器视频| 亚洲国产欧美一区| 欧美日韩裸体免费视频| 中文字幕日韩有码| 欧美国产第二页| 久久国产天堂福利天堂| 成人黄色片在线| 中文字幕av一区二区三区谷原希美| 欧美亚洲另类视频| 精品视频在线导航| 亚洲欧美日韩第一区| 一区二区三区亚洲| 成人情趣片在线观看免费| 亚洲iv一区二区三区| 国产日产欧美a一级在线| 91精品国产91久久久久久不卡| 91日本视频在线| 国产精品女视频| 欧美精品电影在线| 国产日韩专区在线| 成人欧美一区二区三区黑人孕妇| 最近2019中文字幕第三页视频| 一本色道久久综合狠狠躁篇的优点| 国产精品久久久久99| 88xx成人精品| 成人综合国产精品| 亚洲精品色婷婷福利天堂| 亚洲成人精品视频| 亚洲专区国产精品| 91久久精品日日躁夜夜躁国产| 日韩一区二区精品视频| 久久91亚洲精品中文字幕奶水| 久久久久久久成人| 亚洲免费av网址| 国产精品影片在线观看| 日韩专区在线观看| 久久久久久久电影一区| 欧美性猛交xxxx免费看久久久| 欧美日韩成人网| 日韩av免费看网站| 亚洲欧美一区二区三区情侣bbw| 国产精品三级美女白浆呻吟| 97久久精品人搡人人玩| 日韩在线中文字幕| 国产xxx69麻豆国语对白| 亚洲一区二区黄| 中文字幕欧美日韩va免费视频| 国产精品网红福利| 欧美夜福利tv在线| 国产精品偷伦一区二区| 久久久久久av| 欧美精品videos| 97视频网站入口| 久久久久久久久网站| 欧美一区二区三区免费观看| 国产精品三级久久久久久电影| 亚州国产精品久久久| 欧美精品在线播放| 久久在线免费视频| 成人精品视频久久久久| 日韩精品黄色网| 国产98色在线| 欧美性猛交xxxx免费看漫画| 欧美激情免费在线| 日韩美女在线看| 国产精品aaa| 欧美激情视频一区| 136fldh精品导航福利| 性欧美亚洲xxxx乳在线观看| 国产精品丝袜高跟| 亚洲最大福利网站| 91在线视频导航| 性色av一区二区三区红粉影视| 九九九久久国产免费| 国产精品久久久久久久久久久久久久| 久久精品夜夜夜夜夜久久| 一区二区在线视频| 亚洲久久久久久久久久| 美女视频久久黄| 国产+人+亚洲| 亚洲精品小视频在线观看| 国产情人节一区| 亚洲欧美日韩视频一区| 国产成人jvid在线播放| 国产在线拍揄自揄视频不卡99| 欧美日韩另类在线| 亚洲精品黄网在线观看| 亚洲美女性生活视频| 最近中文字幕2019免费| 成人欧美一区二区三区黑人孕妇| 亚洲乱码av中文一区二区| 亚洲精品成a人在线观看| 国产成人短视频| 日本成人精品在线| 欧美巨大黑人极品精男| 日本欧美在线视频| 欧美日韩国产一区二区| 久久久爽爽爽美女图片| 亚洲香蕉成人av网站在线观看| 亚洲区在线播放| 777777777亚洲妇女| 欧美激情免费观看| 国产成人精品网站| 亚洲偷欧美偷国内偷| 久久久久久com| 97在线观看免费| 亚洲va国产va天堂va久久| 久久久久久中文字幕| 久久综合电影一区| 亚洲二区在线播放视频| 91精品国产99久久久久久| 深夜福利91大全| 8x海外华人永久免费日韩内陆视频| 日韩美女免费线视频| 日韩电影视频免费| 国产日韩av在线播放| 国产欧美日韩中文字幕| 一区二区三区美女xx视频| 日本伊人精品一区二区三区介绍| 欧美黄色片在线观看| 在线午夜精品自拍| 国产成人精品av在线| 色七七影院综合| 色综合伊人色综合网站| 成人网址在线观看| 国产精品自拍偷拍视频| 欧美xxxwww| 亚洲最新av在线| 亚洲精品色婷婷福利天堂| 九色精品免费永久在线| 久久国产精品影视| 2020国产精品视频| 欧美高清不卡在线|