亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2418 | 回復(fù): 5
打印 上一主題 下一主題

求翻譯 該子程序功能 [復(fù)制鏈接]

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-14 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-11-29 15:30 |只看該作者 |倒序瀏覽
求翻譯啊 子程序debug大概是干什么的 我知道shift是取數(shù)組的頭一個元素,那么$@是指我們輸入的數(shù)組嗎?不然數(shù)組數(shù)據(jù)從哪兒來?
  1. my $debug = $ENV{SERIALSERVER_DEBUG}||DEBUG_LEVEL;
  2. sub debug($@)
  3. {
  4.     my $msglevel = shift;

  5.     unshift(@_ , getLongTime()." : ");
  6.     print @_
  7.         if ($debug >= $msglevel);
  8. }
復(fù)制代碼

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-14 06:20:00
2 [報告]
發(fā)表于 2011-11-29 15:42 |只看該作者
回復(fù) 1# 吹風(fēng)筒


    還有,程序的后面
  1. debug 0,"程序 $DomainId : $PrgName 啟動...\n";
復(fù)制代碼
這里是引用了上面的 子程序 sub debug?0是傳入?yún)?shù)?
求大蝦們 給我指點指點啦

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [報告]
發(fā)表于 2011-11-29 16:05 |只看該作者
回復(fù) 1# 吹風(fēng)筒

$ perldoc perlsub

NAME
       perlsub - Perl subroutines

SYNOPSIS
       To declare subroutines:

           sub NAME;                     # A "forward" declaration.
           sub NAME(PROTO);              #  ditto, but with prototypes
           sub NAME : ATTRS;             #  with attributes
           sub NAME(PROTO) : ATTRS;      #  with attributes and prototypes

           sub NAME BLOCK                # A declaration and a definition.
           sub NAME(PROTO) BLOCK         #  ditto, but with prototypes
           sub NAME : ATTRS BLOCK        #  with attributes
           sub NAME(PROTO) : ATTRS BLOCK #  with prototypes and attributes

           ...

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-01-14 06:20:00
4 [報告]
發(fā)表于 2011-11-29 17:03 |只看該作者
回復(fù) 3# jason680


第二行開始是 子程序debug定義 能明白
但是子程序調(diào)用冒似 要用符號&
而這里的第一句$debug 指的是另外一個變量?

論壇徽章:
0
5 [報告]
發(fā)表于 2011-11-29 17:08 |只看該作者
回復(fù) 4# 吹風(fēng)筒


    &不用也行;
   是你第一行定義的變量,跟你傳入的0比較看是否打印

論壇徽章:
0
6 [報告]
發(fā)表于 2011-11-30 09:45 |只看該作者
呵呵,其實這是一段經(jīng)常見的程序中打印debug信息的方式
可以依據(jù)程序的debug level,而有效增加或者減少打印調(diào)試的語句。

知識點:
1)標(biāo)量$debug
2)函數(shù)debug定義與聲明
3)函數(shù)debug調(diào)用

具體解釋如下:

my $debug = $ENV{SERIALSERVER_DEBUG}||DEBUG_LEVEL;
#這句話定義標(biāo)量debug,注意'$';后面我猜測應(yīng)該是一個數(shù)值,用以表示debug level
sub debug($@)
{
    my $msglevel = shift;
    #取第一個參數(shù)作為msglevel變量,msglevel的用處后面可以看到

    unshift(@_ , getLongTime()." : ");
    #將時間單位加入到默認(rèn)變量@_當(dāng)中,注意pop,push是在數(shù)組的后段增減;而shift,unshift是作用在數(shù)組的前段
    print @_
        if ($debug >= $msglevel);
    #一個判斷邏輯,即如果變量msglevel不大于變量debug,那么打印傳入進來的參數(shù)并加上當(dāng)前時間
}

debug 0,"程序 $DomainId : $PrgName 啟動...\n";
#調(diào)用debug函數(shù),該函數(shù)已經(jīng)在調(diào)用之前定義并聲明
#傳入的第一個參數(shù)為0,表示msglevel;所以只要變量值debug > 0,就打印傳入的第二個參數(shù)內(nèi)容并且加上當(dāng)前時間
#同樣,如果第一個參數(shù)的值 > debug變量值,函數(shù)就忽略打印語句

hehe, have a nice day!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP