方法名称何时应该是疑问和感叹号?有没有约定/规则?
答案 0 :(得分:3)
方法上的问号表示该方法返回布尔结果。
方法末尾的感叹号表示该方法将修改调用它的对象。 Ruby称这些“危险”方法,因为它们改变了对象的状态。没有感叹号的方法被认为是一种“安全”方法,因为它创建了对象的副本并返回副本而不是修改传入的对象。
答案 1 :(得分:1)
一般来说,爆炸操作符(!)放在破坏性的方法上,即它们会改变一些东西。 .map
是安全的,而.map!
更改了它所调用的对象。
疑问句通常会返回布尔响应。
答案 2 :(得分:1)
疑问 - 当方法期望返回布尔值时。
感叹号 - 当方法覆盖被调用的对象时。