国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

學習perl的unless控制結構

2020-10-31 15:19:57
字體:
來源:轉載
供稿:網友

例如:

復制代碼 代碼如下:

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

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

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

如此操作與運行效率高低無關,兩種寫法應該會被統譯成相同的內部字節碼。另外一個改寫的方法,就是以取反操作符!來否定條件:
復制代碼 代碼如下:

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

通常應該選擇最容易理解的方法來寫代碼,因為這通常對于維護程序員來說也是最容易理解的。如果用if來表達最合適,那么就這么寫也行。但是更多的情況下使用unless能使你的表達更加自然。

unless附帶的else子句

其實哪怕是在unless結構中也可以使用else語句,雖然支持這樣的語法,但是可能會導致困惑:

復制代碼 代碼如下:

#!/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";
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤岗市| 大庆市| 庄河市| 调兵山市| 安龙县| 沾益县| 雷山县| 新乡县| 竹北市| 上林县| 沙河市| 新民市| 隆尧县| 临颍县| 宜黄县| 金乡县| 大安市| 梁山县| 永年县| 保山市| 师宗县| 斗六市| 邯郸市| 阳泉市| 湖州市| 丰都县| 洛阳市| 安仁县| 喜德县| 子洲县| 浪卡子县| 民乐县| 谢通门县| 禹州市| 昔阳县| 安西县| 东台市| 黄冈市| 鹿邑县| 蒲江县| 高密市|