加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby惯用的方式返回一个布尔值

发布时间:2020-12-17 03:48:10 所属栏目:百科 来源:网络整理
导读:在#survey_completed中返回布尔值是否有更惯用的方法? 这就是我在C#中做的事情,我一直认为返回false的最后一个三元子句是多余的,所以 Ruby有更好的方法吗? 这就是我的代码目前的样子: def survey_completed? self.survey_completed_at ? true: false end
在#survey_completed中返回布尔值是否有更惯用的方法?
这就是我在C#中做的事情,我一直认为返回false的最后一个三元子句是多余的,所以 Ruby有更好的方法吗?

这就是我的代码目前的样子:

def survey_completed?
    self.survey_completed_at ? true: false
  end

  def survey_completed_at
    # Seeing as the survey is submitted all or nothing,the time the last response is persisted
    # is when the survey is completed
    last_response = self.responses.last
    if last_response
      last_response.created_at
    end
  end

解决方法

你可以使用双重否定:

def survey_completed?
  !!survey_completed_at
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读