首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ruby中将1和0转换为true和false。想要一个布尔值或逻辑值

问如何在Ruby中将1和0转换为true和false。想要一个布尔值或逻辑值
EN

Stack Overflow用户
提问于 2010-01-14 21:00:59
回答 4查看 4.3K关注 0票数 11

我需要索引到我用"true“和"false”定义的散列中。

代码语言:javascript
复制
colorHash = Hash.new { |hash, key| hash[key] = {} }
colorHash["answers"][true]  = "#00CC00"
colorHash["answers"][false] = "#FFFFFF"

为了测试目的,我用rand(2)索引,结果失败了。如果我用真进行索引,它就能工作。

我想找的是

兰德(2).logical

但什么也找不到。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-14 21:07:42

有一种简单(虽然不是很令人兴奋)的方法可以做到这一点:

代码语言:javascript
复制
rand(2) == 1
票数 25
EN

Stack Overflow用户

发布于 2010-01-14 21:21:17

像这样的怎么样?

代码语言:javascript
复制
[true,false][rand(2)]

也就是说,从真/假数组返回一个随机结果。不过,它肯定比rand(2) == 1更冗长。

票数 6
EN

Stack Overflow用户

发布于 2012-03-30 20:29:29

我认为这是最酷的方法之一,#sample是一个鲜为人知的Array方法:

没错,false.sample

编辑:这仅在RubyRuby1.9中有效。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2067522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档