Ruby & Rails

ruby 中带感叹号的 method

2018-10-10  本文已影响0人  云莉6

一般 method 加上感叹号代表这个 method 会抛异常。如 save 与 save!。

也有一层意思是,这个 method 会 change object,代表这个 method 是一个 danger 的 method。如 downcase 与 downcase! 。

另外通过今天的 review,也纠正自己的一个错误:不能因为以前有这样的写法,现在就也继续按照不太合理的方式这么写。

加一段我看到的别人的解释:

Methods ending in ! perform some permanent or potentially dangerous change; for example:
Enumerable#sort returns a sorted version of the object while Enumerable#sort! sorts it in place.
In Rails, ActiveRecord::Base#save returns false if saving failed, while ActiveRecord::Base#save! raises an exception.
Kernel::exit causes a script to exit, while Kernel::exit! does so immediately, bypassing any exit handlers.

上一篇下一篇

猜你喜欢

热点阅读