我正在使用RMagick创建一个项目,该项目会根据大小和颜色生成随机横幅广告。
第一步是这样,但它无法正常工作。我正在使用所谓的三元语句来使字符串像“#ffffff,#f0f1cd,#123fff”等。
# Generate sixteen random colors
1.upto(16) { |i|
(defined? colors) ? colors << ", #%06x" % (rand(0xffffff)) : colors = "#%06x" % (rand(0xffffff))
}
puts colors.split(',')
预期结果不正确。我希望它分成如下数组: [“#ffffff”,“#f0f1cd”,“#123fff”]
以最优雅的方式。
答案 0 :(得分:7)
你可以这样做更容易:
colors = 3.times.map{"%06x" % (rand * 0x1000000)}
注意:如果您使用的是Ruby 1.9.3,则可以使用范围。
colors = 3.times.map{"%06x" % rand(0..0xffffff)}