在红宝石中一次检查几个布尔值

 景科儒_189 发布于 2023-02-13 11:16

我有一些对象(不是所有对象)的记录,我必须检查它们是真还是假,以标记另一条记录是真还是假.这就是我现在正在做的事情:

step_finished = object.one == true &&  object.two == true && object.three == true &&  object.four == true

我敢肯定必须有一个更好的方法,但我找不到它.我有另外一步要检查20个值,所以如果你知道一个更有效的方法检查这个,请帮忙!

谢谢!

1 个回答
  • 你不需要测试== true; 只需测试某事物的"真实性"就足够了.在布尔上下文中没有nilfalse将要评估的任何内容.所以这样就足够了:true

    step_finished = object.one && object.two && object.three && object.four
    

    您还可以使用all?:

    step_finished = [object.one, object.two, object.three, object.four].all?
    

    2023-02-13 11:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有