zoukankan      html  css  js  c++  java
  • Perl语言入门笔记 第十章 其他控制结构(unless,until,elsif,for,last,next,redo,and,or)

    =pod
    第十章		其他控制结构
    
    unless控制结构:和if相对
    	在条件为假时想要运行代码块,就用unless否则就用if:
    	unless(judge){	}
    	
    伴随unless的else子句:
    	unless(){	} else {	}
    	
    until控制结构:
    	until($j > $i)
    	{
    		$j *= 2;
    	}
    	until在条件为假时重复执行,直到为真为止,和while相对。
    
    表达式修饰符:
    	为了进一步简化代码书写,表达式后面可以接一个用于控制它行为的修饰符。
    	print "$n is a negative number.
    " if $n < 0;
    	先判断$n是否大于0,也就是说后面的判断会先执行
    	&error("Invalid input") unless &valid($input);
    	$i *= until $i > $j;
    	print " ", ($n += 2) while $n < 10;
    	&greet($_) foreach @person;
    	在使用foreach修饰符的时候无法自选控制变量,必须使用$_。这通常不是问题,不过若真需要自选控制变量,可以用老式的foreach循环改写
    	
    裸块控制结构:
    	所谓的裸块就是没有关键字或条件表达式的代码块,只是一个花括号给包裹起来
    	{	裸块	}主要是为了限定变量的作用域
    	
    elsif子句:
    	if() { } elsif() { } else { }	
    	perl常见问题集(参阅perlfaq文档)列出了一堆关于如何模拟case或switch的建议,perl5.10或则更高版本的用户可以选择使用第十五章中介绍的given-when结构作为交通方式。
    
    for控制结构:
    	for(my $i = 0; $i < 10; $i++) {	}
    	for($_ = "bedrock"; s/(.)//;)#当s///这个替换成功时,循环继续
    	{ print "One character is: $1
    "; }
    	
    foreach和for间的秘密关系:
    	for(1..10) { print "I can count to $_!
    "; }
    	foreach my $i (@array) {  }
    	
    循环控制:
    	last 跳出循环,类似c中的break
    	next 不执行下面的指令然后跳到循环的结尾,类似c中的continue
    	redo 不执行下次迭代,还是本次迭代,而next会进行下次迭代
    	
    带标签的块:
    	当在内层循环控制外围循环时要用标签
    	LINE:while(<>)
    	{
    		foreach(split)
    		{
    			last LINE if /__END__/; #跳出标签为LINE的循环
    			...
    		}
    	}
    
    三目操作符: ?:
    
    逻辑操作符:and &&  or || 	
    
    定义或操作符:
    
    使用部分求值操作符的控制结构:
    	就是连起来用
    
    =cut
    

  • 相关阅读:
    LNMP状态管理命令
    Gogs基本使用介绍
    初探Asp.net请求机制原理 1
    关于css定位
    JS不同浏览器图片载入处理
    js之队列01
    javascript 快速排序
    JavaScript prototype背后的工作原理
    关于javascrpt if快速判断说明
    js动态加载图片核心代码
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7398614.html
Copyright © 2011-2022 走看看