1

サイズと色に関してランダムなバナー広告を生成する 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"] のような配列に分割したい

可能な限り最もエレガントなアプローチで。

4

1 に答える 1

7

これを行うと、より簡単になります:

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

注: Ruby 1.9.3 を使用している場合は、範囲を使用できます。

colors = 3.times.map{"%06x" % rand(0..0xffffff)}
于 2012-05-20T23:09:46.347 に答える