主頁 > 知識庫 > 學(xué)習(xí)perl的unless控制結(jié)構(gòu)

學(xué)習(xí)perl的unless控制結(jié)構(gòu)

熱門標(biāo)簽:浦東上海400開頭的電話申請 買了外呼系統(tǒng)不想用了怎么辦 電話機(jī)器人電話卡封號怎么辦 真人語音電銷機(jī)器人系統(tǒng) 武漢呼叫中心外呼系統(tǒng)線路商 樂昌電話機(jī)器人 邯鄲外呼調(diào)研線路 開封百應(yīng)電銷機(jī)器人聯(lián)系方式 北京語音電銷機(jī)器人價格

例如:

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

unless ($fred =~ /^([A-Z_]\w*$/i) {
  print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

使用unless意味著,要么條件為真,要么執(zhí)行某塊代碼。這就好像使用if控制結(jié)構(gòu)來判斷相反的條件。另一種說法是它類似于獨(dú)立的else子句。也就是說,當(dāng)看不懂某個unless語句時,可以用如下的if語句來代替:
復(fù)制代碼 代碼如下:

if ($fred =~ /^([A-Z_]\w*$/i) {
  //什么都不做
} else {
   print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

如此操作與運(yùn)行效率高低無關(guān),兩種寫法應(yīng)該會被統(tǒng)譯成相同的內(nèi)部字節(jié)碼。另外一個改寫的方法,就是以取反操作符!來否定條件:
復(fù)制代碼 代碼如下:

if ( ! ($fred =~ /^([A-Z_]\w*$/i) ) {
  print "The value of \$fred doesn't look like a Perl identifier name. \n";
}

通常應(yīng)該選擇最容易理解的方法來寫代碼,因?yàn)檫@通常對于維護(hù)程序員來說也是最容易理解的。如果用if來表達(dá)最合適,那么就這么寫也行。但是更多的情況下使用unless能使你的表達(dá)更加自然。

unless附帶的else子句

其實(shí)哪怕是在unless結(jié)構(gòu)中也可以使用else語句,雖然支持這樣的語法,但是可能會導(dǎo)致困惑:

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

#!/usr/bin/perl -w
unless ($mon =~ /^Feb/) {
  print "This month has at least thirty days.\n";
} lese {
  print "Do you see what's going on here?\n";
}
#如果用if語句我們可以寫成這樣:
if ($mon =~ /^Feb/) {
  print "Do you see what's going on here?\n";
} else {
  print "This month has at least thirty days.\n";
}

標(biāo)簽:鄂州 石嘴山 河北 六安 自貢 宜春 淄博 松原

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《學(xué)習(xí)perl的unless控制結(jié)構(gòu)》,本文關(guān)鍵詞  學(xué)習(xí),perl,的,unless,控制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《學(xué)習(xí)perl的unless控制結(jié)構(gòu)》相關(guān)的同類信息!
  • 本頁收集關(guān)于學(xué)習(xí)perl的unless控制結(jié)構(gòu)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章