方法名称开头的Bang(!)

cod*_*nja 0 ruby prefix-operator

taking_damage在此代码示例中,方法之前的感叹号的目的是什么?

if warrior.health < 20 && !taking_damage?(warrior)
     warrior.rest!
end
Run Code Online (Sandbox Code Playgroud)

Kon*_*che 7

它是布尔运算Negation,因此等同于Ruby关键字not.

你可以读这样的行:

"如果战士的生命值低于20 战士没有受到伤害,那么战士就必须休息."