2

When should a method name be interrogative and exclamation? Is there any convention/rules?

4

3 回答 3

3
  • 方法上的问号表示该方法返回布尔结果。

  • 方法末尾的感叹号表示该方法将修改调用它的对象。Ruby 称这些“危险”方法是因为它们改变了对象的状态。没有感叹号的方法被认为是“安全”的方法,因为它会复制对象并返回副本,而不是修改传入的对象。

于 2013-05-31T06:20:09.993 回答
1

一般来说,bang 运算符 (!) 被放置在具有破坏性的方法上,即它们会改变事物。 .map是安全的,同时.map!改变了它被调用的对象。

疑问通常返回一个布尔响应。

于 2013-05-31T06:16:06.763 回答
1

疑问 - 当方法期望返回布尔值时。

Exclamation - 当方法覆盖被调用的对象时。

于 2013-05-31T06:27:49.137 回答