最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年02月05日 12:01:45   作者:  
在perl的if控制結(jié)構(gòu)中,只有當(dāng)條件表達(dá)式為真時(shí)才執(zhí)行某塊代碼。如果想讓程序塊在條件為假時(shí)才執(zhí)行,此時(shí)可以把if改成unless

例如:

復(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)來(lái)判斷相反的條件。另一種說(shuō)法是它類(lèi)似于獨(dú)立的else子句。也就是說(shuō),當(dāng)看不懂某個(gè)unless語(yǔ)句時(shí),可以用如下的if語(yǔ)句來(lái)代替:
復(fù)制代碼 代碼如下:

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

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

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

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

unless附帶的else子句

其實(shí)哪怕是在unless結(jié)構(gòu)中也可以使用else語(yǔ)句,雖然支持這樣的語(yǔ)法,但是可能會(huì)導(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語(yǔ)句我們可以寫(xiě)成這樣:
if ($mon =~ /^Feb/) {
  print "Do you see what's going on here?\n";
} else {
  print "This month has at least thirty days.\n";
}

相關(guān)文章

最新評(píng)論

汶上县| 冀州市| 萍乡市| 奇台县| 罗田县| 海伦市| 商都县| 田林县| 通山县| 剑川县| 赣州市| 黑水县| 苗栗县| 任丘市| 色达县| 长宁县| 兴业县| 乐昌市| 兴安县| 茂名市| 弋阳县| 长岭县| 金门县| 五家渠市| 泰安市| 南城县| 娱乐| 博客| 汉中市| 黄梅县| 辽阳县| 西贡区| 江永县| 体育| 寻乌县| 芷江| 辽源市| 芦山县| 盐城市| 犍为县| 德令哈市|