我需要索引一个我用“true”和“false”
定义的哈希colorHash = Hash.new { |hash, key| hash[key] = {} }
colorHash["answers"][true] = "#00CC00"
colorHash["answers"][false] = "#FFFFFF"
出于测试目的,我使用rand(2)进行索引,但失败了。如果我使用 true 进行索引,则可以正常工作。
我正在寻找像
这样的东西兰特(2).logical
但一无所获。
答案 0 :(得分:25)
有一种简单(虽然不是很令人兴奋)的方法:
rand(2) == 1
答案 1 :(得分:6)
这样的事情怎么样?
[true,false][rand(2)]
也就是说,从true / false数组返回一个随机结果。但它肯定比rand(2) == 1
更加冗长。
答案 2 :(得分:5)
我认为这是最酷的方法之一,而#sample是不太知名的数组方法之一:
[true,false] .sample
编辑:这仅在Ruby> = 1.9
中有效答案 3 :(得分:1)
[true,false].shuffle
或[true,false].sort { rand }
def get_bool
[true,false].shuffle.shift
end