什么在方法面前意味着什么?

时间:2012-01-24 19:10:47

标签: ruby-on-rails ruby activerecord

爆炸方法在前面是什么意思?这是什么简写?

!post.save

2 个答案:

答案 0 :(得分:6)

这是一种否定。在你的例子中,它意味着不是post.save的结果。

如果:

post.save => true
!post.save => false

否则:

post.save => false
!post.save => true

答案 1 :(得分:6)

相当于

not post.save

通常用于if子句,例如:

if !post.save               #if the post could not be saved for some reason
   puts 'could not save post!'
end

这是因为如果POST请求成功,则从ActiveResource::Base保存的函数返回true,如果没有,则返回falseRead here了解有关该功能的更多信息。