如何生成六种随机十六进制颜色并将它们放入Ruby数组中?

如何生成六种随机十六进制颜色并将它们放入Ruby数组中?,ruby,colors,hex,rmagick,Ruby,Colors,Hex,Rmagick,我正在与RMagick一起制作一个项目,该项目生成一个关于大小和颜色的随机横幅广告 第一步是这样,但它不能正常工作。我使用所谓的三元语句来生成字符串,如“#ffffff,#f0f1cd,#123fff”等 #生成十六种随机颜色 1.最多(16){i| (已定义?颜色)?颜色您可以更轻松地执行此操作: colors = 3.times.map{"%06x" % (rand * 0x1000000)} 注意:如果您使用的是Ruby 1.9.3,那么可以使用ranges colors = 3.tim

我正在与RMagick一起制作一个项目,该项目生成一个关于大小和颜色的随机横幅广告

第一步是这样,但它不能正常工作。我使用所谓的三元语句来生成字符串,如“#ffffff,#f0f1cd,#123fff”等

#生成十六种随机颜色
1.最多(16){i|

(已定义?颜色)?颜色您可以更轻松地执行此操作:

colors = 3.times.map{"%06x" % (rand * 0x1000000)}
注意:如果您使用的是Ruby 1.9.3,那么可以使用ranges

colors = 3.times.map{"%06x" % rand(0..0xffffff)}

您可以这样做,这将更容易:

colors = 3.times.map{"%06x" % (rand * 0x1000000)}
注意:如果您使用的是Ruby 1.9.3,那么可以使用ranges

colors = 3.times.map{"%06x" % rand(0..0xffffff)}

+1只需少量添加-这样就永远不会产生#ffffff。
rand
在[0;1]范围内(请参阅),那是1,不包括在内。@emboss谢谢,你是对的。我已经编辑了以包括#ffffff,我会的,但我没有问这个问题:)嘿嘿嘿,对不起,我的坏:)…我刚刚意识到,抱歉,嘿嘿+1加上一个小加法-这样#ffff将永远不会产生。
rand
在范围[0;1[(请参阅),那是1,不包括在内。@emboss谢谢,你说得对。我已经编辑了,包括了#ffffff我想,但我没有问这个问题:)嘿嘿嘿,对不起,我的错:)…我刚刚意识到,对不起嘿嘿