如何在Ruby中将1和0强制转换为true和false。想要布尔或逻辑输出吗
我需要索引到一个散列中,我已经用“true”和“false”定义了这个散列 出于测试目的,我使用rand(2)编制索引,但失败了。如果我使用true进行索引,它会工作 我在找类似的东西 兰德(2)。逻辑 但是什么也找不到。有一个简单的方法可以做到这一点:如何在Ruby中将1和0强制转换为true和false。想要布尔或逻辑输出吗,ruby,Ruby,我需要索引到一个散列中,我已经用“true”和“false”定义了这个散列 出于测试目的,我使用rand(2)编制索引,但失败了。如果我使用true进行索引,它会工作 我在找类似的东西 兰德(2)。逻辑 但是什么也找不到。有一个简单的方法可以做到这一点: rand(2) == 1 [对,错].洗牌 或[true,false]。排序{rand} def get_bool [true,false].shuffle.shift end 像这样的怎么样 [true,false][rand(2)
rand(2) == 1
[对,错].洗牌
或[true,false]。排序{rand}
def get_bool
[true,false].shuffle.shift
end
像这样的怎么样
[true,false][rand(2)]
也就是说,从真/假数组返回一个随机结果。但是,它肯定比rand(2)==1更详细。我认为这是最酷的方法之一,而#sample是不太为人所知的数组方法之一: [对,错]。示例
编辑:这只在Ruby>=1.9中有效,我喜欢这个主意!在Ruby 1.9中,您可以执行
[true,false].sample
[true,false][rand(2)]