1
我正在製作一個RMagick項目,它可以生成關於尺寸和顏色的隨機橫幅廣告。如何生成六個隨機十六進制顏色並將它們放入Ruby數組中?
第一步是這樣,但它不能正常工作。我使用的是什麼所謂的三元語句來作出這樣的字符串「#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」]
在最優雅的方法可能。
+1有一個小的加法 - 這樣#ffffff永遠不會被生成。 'rand'的範圍是\ [0; 1 \ [(參見[Kernel#rand](http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-rand) ),即1不包括在內。 – emboss
@emboss謝謝,你是對的。我已編輯包含#ffffff – rogeliog
沒有問題,不客氣! – emboss