婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

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

復制代碼 代碼如下:

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

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

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

運行結果:
復制代碼 代碼如下:

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

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

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

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


運行結果:
復制代碼 代碼如下:

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

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

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

巨人網絡通訊聲明:本文標題《perl中的范圍聲明our-my-local介紹》,本文關鍵詞  perl,中的,范圍,聲明,our-my-local,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《perl中的范圍聲明our-my-local介紹》相關的同類信息!
  • 本頁收集關于perl中的范圍聲明our-my-local介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 成武县| 乌什县| 永顺县| 东至县| 武强县| 永修县| 福鼎市| 巴楚县| 阳曲县| 台北县| 当涂县| 巴彦县| 阿克陶县| 巴中市| 连城县| 乌拉特前旗| 永宁县| 易门县| 揭西县| 湾仔区| 宁夏| 塘沽区| 武汉市| 阜南县| 舒兰市| 威远县| 许昌市| 台北市| 明水县| 榆社县| 周口市| 沽源县| 东丰县| 黄石市| 方城县| 韶山市| 太和县| 双鸭山市| 密云县| 若羌县| 新密市|