在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
以下是2种表达方式一样。 if expression code end
if expression then #推荐这种形式 code end expression的值不是false或nil,则code块将被执行。 需要注意:1)围绕expressions的圆括号是可选的(而且通常都不用),ruby使用换行符、分号或者关键字then对条件表达式和后续的内容进行分隔 2) 必须以end 作为结束。
例子 if data #if array exist data << x #append x to data else data = [x] #create a new array, that holds the value end #this is the end of the conditional
if expression_1 then code1 elseif expression_2 code2 ..... elseif expression_N code3 else code end 例子 (多种形式,最好使用同一种代码规范)个人认为then最好 if x==1 name = "one" elseif x==2 name = "two" elseif x==3 then name ="three" elseif x==4; name = "four" else name = "many" end
5.1.3 返回值 在大多数语言中if条件式是一个语句,但在ruby中一切都是表达式,包括那些被称为语句的控制结构。 if“语句”的返回值:为被执行代码中最后一个表达式的值,若没有任何执行代码则返回nil name = if x==1 then "one" elseif x==2 then "two" elseif x==3 then "three" elseif x==4; then "four" else "many" end
5.1.2 修饰符if code if expression puts message if message #if message not nil, or false, print it
if修饰符的优先级很低,比赋值操作符还低 y = x.invert if x.respond_to ? :invert #if修饰符作用与整个赋值表达式,如果x没有名为invert的方法,那么不会有任何事情发生。 y = (x.invert if x.respond_to ? :invert) #if修饰符仅仅作用与方法调用,如果if没有invert方法,那么该修饰符表达式的值将为nil,然后这个值被赋给y.
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论