在判断多个条件表达式时,我们会用到逻辑运算符 && 和 ||。 条件 1 && 条件 2 表示条件 1 为真,并且条件 2 也为真时,则整体的表达式返回真。两者中只要一个返回假 时,则整体的表达式返回假。 相对地, 条件 1 || 条件 2 表示条件 1 为真,或者条件 2 为真时,整体的表达式返回真。两者同时为假时,则整体的 表达式返回假。 还有表示否定的逻辑运算符: ! 条件 表示相反的条件。也就是,条件为假时,表达式返回真;条件为真时,表达式返回假。 例如,我们想判断整数 x 是否在 1 到 10 之间, if 语句可以这么写: if x >= 1 && x <= 10 end 与上面的条件相反,表示“1 到 10 以外”时使用 !,表达式可以写成 ! (x >= 1 && x <= 10) 。不过,像下面写成“小于 1,或者大于 10”可能更加直接,更便于理解。 if x < 1 || x > 10 end 条件判断对于控制程序的行为非常重要。过于复杂、难以理解的条件,会使程序的目的也会 变得难以琢磨。建议大家在写程序时,注意尽量写便于理解的条件。 在 Ruby 中,还有与 &&、||、! 意思相同,但优先级略低的逻辑运算符 and、or、 not 。关 于运算符的优先级,我们将在第 9 章 9.5 节讨论。