此代码示例中taking_damage
方法之前的感叹号的目的是什么?
if warrior.health < 20 && !taking_damage?(warrior)
warrior.rest!
end
答案 0 :(得分:7)
答案 1 :(得分:2)
它是一个否定运算符,它接受方法/变量的真实性并返回它的反面。
答案 2 :(得分:1)
此运算符也可用于将任何值转换为true和false(布尔值)。这是一个例子:
> !nil
=> true
> !!nil
=> false