欢迎来到天天文库
浏览记录
ID:37712581
大小:29.55 KB
页数:6页
时间:2019-05-29
《ruby中的控制语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1控制语句Ruby中的控制语句有if和unless、while和until、case、for…in语句,在他们的使用上有两种用法:传统的写法和作为修饰符的写法。在书写的形式上也有共同点:l条件表达式使用圆括弧的是可选的,通常不使用圆括号l上述所有的控制语句的传统写法都已一个end结束l所有的控制语句的返回值要么是nil要么是符合条件执行的代码最后一行表达式的值l在表达式和代码体之间的的关键字可以使用换行符、分号等分隔符代替,如if和unless中的then,while中的do,case语句中then,for..i
2、n中的dol作为修饰符的通常条件是,代码和修饰条件在一样中,如果不在一行(可读性不好),可以使用begin….end代码块。lRuby中条件表达式的结果只要不是nil和false,其他都为真。1.1传统写法控制语句1.1.1if和unlesslif关于表达式和代码之间的分隔符的三种写法:defusage_if(dilimeter)ifdilimeter==""puts'dilimeteris""'endifdilimeter==";";puts"dilimteris";""endifdilimeter
3、=="then"thenputs"dilimteris"then""endendusage_if""usage_if";"usage_if"then"=beginoutputis:dilimeteris""dilimteris";"dilimteris"then"=endIf和else的配合使用defusage_if(dilimeter)ifdilimeter==""puts'dilimeteris""'elseputsputs'dilimeterisnot""'endendIf和elsi
4、f的使用注意elsif不是elseif(缺少一个e),其实elsif和if的用法一样。同时在此语句中还可增加else语句,单需要放在所有条件判断的最后面,即当其上面所有的条件都不成立的时候,执行该代码。defusage_if(dilimeter)ifdilimeter==""puts'dilimeteris""'elsifdilimeter==";";puts"dilimteris";""elsifdilimeter=="then"thenputs"dilimteris"then""elsifdi
5、limeter=="-"puts"dilimteris"-""elseputs"elsedilimter"endendif和elseif的使用,但是在这种使用中不可以出现独立的else。defusage_if(dilimeter)ifdilimeter==""puts'dilimeteris""'elseifdilimeter==";";puts"dilimteris";""endelseputs"elsedilimter"#这两行代码会很出错endendlunlessunless是if的反操作,
6、只要表达式不成立就执行。对于分隔符unless和if是一样的,以下对unless的三种写法都是一样的效果:=begindefusage_unless(value)unlessvalue==1thenputs"valueisnot1"endenddefusage_unless(value)unlessvalue==1;puts"valueisnot1"endend=enddefusage_unless(value)unlessvalue==1puts"valueisnot1"endendusage_unless21
7、.1.1while和untilwhile和until是一对反操作,一般为了代码更清晰,我们往往更喜欢使用while他们的使用格式为:express=2whileexpress>0#表达式为真putsexpressexpress-=1end#=>2,1express=-1untilexpress>0#表达式为为假putsexpressexpress+=1#=>-1,0end1.1.2casecase是一个多路条件表达式,其中最简单的用法是代替if。Case的格式为:express=2result=casewhene
8、xpress==1then"one"whenexpress==2,express==3then"two"#这里when表达式,可以使用,逗号分开,相当于或的关系,便于阅读,此情况经常写成:express==2
9、
10、express==3endputsresult#=>two由于所有when的条件表达式中变量都是一样的,(注意上面使用了所有控制语句都有返回值的写法)所以我们推荐
此文档下载收益归作者所有