Ruby Ruby 方法命名疑问 : 方法名后面带有问号

sec · 2016年12月15日 · 最后由 shiny 回复于 2016年12月16日 · 3750 次阅读

在 ruby on rails 教程里, 例子的方法名后面带有问号 请问这只是由于方法返回值为布尔类型,书写规范? 还是 ruby 的其他判断之类?

class Word < String
  def palindrome?
    self == self.reverse
  end
end

约定返回布尔

书写规范,如果返回到是布尔,就用问号

方法名后面还可以有! 号

可以把他当做一种默认的约定的规范。 只是为了根据语意实现自释义。

约定. 问号表示返回布尔值. 在其他语言里约定相对方法名是 #is_adj() / #has_noun() 同理还有感叹号, 表示方法对对象自身有副作用

超喜欢方法名可以带问号,非常优雅。

sec 关闭了讨论 12月16日 06:11
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册