婷婷综合国产,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介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 东光县| 梨树县| 云梦县| 乌恰县| 聂拉木县| 陕西省| 玉溪市| 萝北县| 恩平市| 修水县| 乌海市| 松原市| 印江| 广德县| 福海县| 苏尼特右旗| 腾冲县| 静宁县| 永安市| 内乡县| 海淀区| 大庆市| 开化县| 杭州市| 手机| 海安县| 于都县| 通州区| 岑溪市| 栾川县| 金湖县| 屯门区| 兴业县| 嵊泗县| 九寨沟县| 鄂托克前旗| 手游| 江城| 丰县| 灵宝市| 上饶县|