ruby 中带感叹号的 method

一般 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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。