Ruby 条件语句与循环结构详解
1. 条件语句
1.1 if 修饰符
在 Ruby 中, if 修饰符可以用于简洁地表达条件判断。例如:
y = x.invert if x.respond_to? :invert
y = (x.invert if x.respond_to? :invert)
第一行代码中, if 修饰符应用于赋值表达式。如果 x 没有 invert 方法,那么什么都不会发生, y 的值也不会被修改。第二行代码中, if 修饰符仅应用于方法调用。如果 x 没有 invert 方法,那么修改后的表达式求值为 nil ,并将其赋值给 y 。
if 修饰符绑定到最近的单个表达式。如果要修改多个表达式,可以使用括号或 begin 语句进行分组。但这种方法存在问题,因为读者直到看到代码末尾才知道这是一个条件语句。而且,这样使用 if 修饰符会失去这种语法简洁性的主要优势。当涉及多行代码时,通常应该使用传统的 if 语句而不是 if 修饰符。以下是三种并列的替代方案:
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



