4,子程式(筆記)
例子:
sub marine {
$n +=1; #全域性變數$n
print "hello,sailor number $n! ";
}
2, 呼叫子程式
任何表示式中只有使用了子程式的名稱(加上&符號),就會呼叫(invoke)子程式。
&marine;
3, 返回值
最後一次運算的結果不管是多少,都會被自動當成子程式的返回值。
4,引數
perl子程式還可以有引數(argument).要傳遞引數列表(argument list)到子程式裡,只要在子程式呼叫的後面加上被括號括住的列表表示式
(list expression)就行了。做法如下所示:
$n = &max(10,15); #本子程式的呼叫包含了兩個引數
引數列表將會被傳入子程式,讓子程興隨意使用。當前,需要有變數來儲存這個列表,所以perl會自動將引數列表儲存到名為@_的特殊陣列
變數,所以這表示子程式的第一個引數儲存於$_[0],第二個引數儲存於$_[1].
sub max {
if ($_[0] > $_[1]) {
$_[0];
} else {
$_[1];
}
}
5, 子例程裡的私有變數
使用my運算子來建立成為詞法變數的私有變數:
sub max {
my ($m,$n); #此塊中新的私有變數
($m,$n) = @_; #將引數賦值給具名變數
is ($m > $n ) {$m } else {$n}
}
my運算子也可以應用到括號內的變數列表,所以習慣上會將這個子程式中的前兩行語句合併起來:
my($m,$n) = @_;
6, 關於詞法(my)變數
詞法變數可使用在任何塊內,而不僅限於子程式的塊,它可以在if,while或foreach的塊裡使用。
7,use strict編譯命令
8,return運算子
在子例程中,return運算子會立即返回某個值。
9,省略&符號
在呼叫子程式時何時可以省略&符號的規則。如果編譯器在呼叫子例程之前看到了子程式的定義,或者perl可以分辨它是子程式呼叫的語法
,那麼該子程式就可以像內建函式那樣在呼叫時省略&符號。
例如:
只要將引數列表放進括號內,它就一定是函式呼叫
如果perl的內部編譯器已經見過子程式的定義,那麼&符號通常也可以省略。這種情況下,甚至可以去掉引數列表兩邊的括號;
10,返回非標量值
子程式不僅可以返回標量值,只要在列表上下文中呼叫它,它就可以返回列表值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245688/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- docker 筆記4Docker筆記
- JUC筆記(4)筆記
- Per語言入門第4版學習筆記-第四章子程式R語言筆記
- 微信小程式開發學習筆記[4]微信小程式筆記
- 程式碼整潔之道--讀書筆記(4)筆記
- 《組合語言》王爽,學習筆記(子程式呼叫)組合語言筆記
- 網路筆記3(子網劃分、IPv4地址)筆記
- xv6學習筆記(4) : 程式排程筆記
- GoldenGate學習筆記(4)_程式配置與管理Go筆記
- 《程式碼大全》讀書筆記1(1-4)筆記
- JAVA自學筆記(4)Java筆記
- c++筆記4C++筆記
- 課堂筆記4筆記
- 閱讀筆記4筆記
- [筆記]UML:java程式設計師指南[1-4]筆記Java程式設計師
- 第4關-精華筆記筆記
- swift學習筆記《4》Swift筆記
- Day4晚筆記筆記
- FPGA讀書筆記4FPGA筆記
- Rails 4 學習筆記AI筆記
- CCNA學習筆記4筆記
- Delphi逆向工程筆記[4]筆記
- vue學習筆記4Vue筆記
- Java學習筆記4Java筆記
- 子查詢學習筆記1筆記
- 開發筆記14|Java程式碼規約第4條筆記Java
- Java高階程式設計筆記 • 【第4章 網路程式設計】Java程式設計筆記
- python學習筆記4Python筆記
- Webpack4學習筆記Web筆記
- p4 學習筆記筆記
- webpack4實操筆記Web筆記
- webpack4 + typescript 配置筆記WebTypeScript筆記
- QT學習筆記4(動畫)QT筆記動畫
- Android學習筆記(4)Android筆記
- 【Go學習筆記4】切片Go筆記
- STREAMS筆記(4) 排表 & 加表筆記
- 學車筆記(第4天)筆記
- JAVA4ANDROID筆記JavaAndroid筆記