【发布时间】:2010-10-11 08:42:52
【问题描述】:
在 Ruby 中,一些方法有一个问号 (?),它会问像 include? 这样的问题,询问是否包含有问题的对象,然后返回真/假。
但是为什么有些方法有感叹号 (!) 而其他方法没有呢?
什么意思?
【问题讨论】:
-
同义词:砰、感叹号
-
接受的答案应更改为stackoverflow.com/a/612653/109618。参见wobblini.net/bang.txt 和ruby-forum.com/topic/176830#773946——“bang 符号意味着”bang 版本比 non bang 版本更危险;小心处理"" -Matz
-
如果 only 和 all bang 方法是危险的,那么 bang 方法将是一个很好的设计选择。遗憾的是它们不是,因此在记忆什么是可变的和不可变的方面变得令人沮丧。
标签: ruby methods naming-conventions immutability