濮阳杆衣贸易有限公司

主頁 > 知識庫 > perl中的范圍聲明our-my-local介紹

perl中的范圍聲明our-my-local介紹

熱門標簽:熱門電銷機器人 外呼電信系統(tǒng) 智能機器人電銷神器 河南虛擬外呼系統(tǒng)公司 萬利達百貨商場地圖標注 惠州龍門400電話要怎么申請 okcc外呼系統(tǒng)怎么調(diào)速度 電話機器人哪里有賣 上海企業(yè)外呼系統(tǒng)

老實說,這個東西有點折騰人,主要是書上的表述很晦澀,其實搞懂不難。
 
our,"把名字限于某個范圍“,其實就是明確聲明一個"全局變量",雖然是在某個模塊或者函數(shù)里面定義的,外面的也可以訪問,如果已經(jīng)聲明過了,再次用"our",表示此處用的是全局的那個,不是同名的私有或者局部變量

復(fù)制代碼 代碼如下:

our $PROGRAM_NAME = "waiter";
{
my  $PROGRAM_NAME = "something";
our $PROGRAM_NAME = "server"; #這里的our和外面的相同,和前句不同。
# 這里調(diào)用的代碼看到的是"server"
}
# 這里執(zhí)行的代碼看到的仍然是"server".

my ,"把名字和值都限于限于某個范圍",簡單說,就是只能本層模塊或者函數(shù)可以看到這個變量,高一層的或者低一層的都看不到的。
復(fù)制代碼 代碼如下:

sub greeting1{
    my ($hello) = "How are you do?";
    greeting2();
}
 
sub greeting2{
    print "$hello\n";
}
$hello = "How are you doing?";
greeting2();
greeting1();
greeting2();

運行結(jié)果:
復(fù)制代碼 代碼如下:

How are you doing?
How are you doing?
How are you doing?

一個 How are you do? 都沒有,在greeting1中call greeting2時,greeting2看不到greeting1的私有$hello變量,只能看到外面的全局變量$hello
 
local,"把值局限于某個范圍",也有叫"動態(tài)詞法范圍",有點不好懂。我的理解,就是本層和本層下層的函數(shù)可以看到本層的變量,但是本層上一層的不可以。到底范圍是多少,不僅取決于本層的函數(shù),還要看下一層的程序長度和深度,所以叫"動態(tài)范圍"。
復(fù)制代碼 代碼如下:

sub greeting1{
    local ($hello) = "How are you do?";
    greeting2();
}

sub greeting2{
    print "$hello\n";
}
$hello = "How are you doing?";
greeting2();
greeting1();
greeting2();


運行結(jié)果:
復(fù)制代碼 代碼如下:

How are you doing?
How are you do?
How are you doing?

跟用 my 時不一樣了吧? 此時在greeting1調(diào)用greeting2時,greeting2可以看到greeting1的局部變量$hello,外部的全局變量當然就隱藏了。

標簽:周口 綿陽 淮安 百色 秦皇島 合肥 周口 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標題《perl中的范圍聲明our-my-local介紹》,本文關(guān)鍵詞  perl,中的,范圍,聲明,our-my-local,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《perl中的范圍聲明our-my-local介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于perl中的范圍聲明our-my-local介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    运城市| 永川市| 卢氏县| 兴海县| 黑龙江省| 确山县| 龙井市| 莱西市| 察隅县| 靖江市| 株洲县| 肃北| 澄迈县| 夹江县| 出国| 屯昌县| 大厂| 黑山县| 高碑店市| 罗山县| 巫溪县| 石泉县| 成武县| 永昌县| 泊头市| 漳州市| 宁波市| 仲巴县| 甘南县| 沧源| 永兴县| 巫溪县| 吉隆县| 石首市| 宜丰县| 东丰县| 宣汉县| 迁安市| 惠安县| 东乡县| 通辽市|