私が持っているのは、ランダムな16進値を生成する方法です。例えば666
またはFF7
Rubyで最短のrndヘックスを書く方法
しかし、私はそれは、単純な/エレガント全く見えないと思います...私が欲しいのはそれかもしれないだけでなく、私のコードを短くするが、私にはないだろうよりシンプルにすることですノーハウ。それは私がヒントを必要とする理由であるか、ここで
のヒントは、これまでの私のコードです:
def random_values
random_values = Array.new
letters = ['A','B','C','D','E','F']
for i in 1..15
if i <= 9
random_values << i
else
random_values << letters[i-10]
end
end
return random_values.shuffle[0].to_s + random_values.shuffle[0].to_s + random_values.shuffle[0].to_s
end
あなたはおそらく見ての通り、私は乱数を生成しません。私は必要な値を含む配列をシャッフルします。つまり、配列内のすべての数値は一意であり、必要ではありませんが、私がコードを書いたときに私にとって最も簡単な解決策でした。
のみ、のように記述することが可能であったならば、私は.. 戻りライン最も懸念しています:
return 3.times { random_values.shuffle[0] }
または
return random_values.shuffle[0].to_s *3
事前に感謝を!
をお使いの最後のコメントについて、あなたは(1..3ような何かを行うことができます) .map {some_code} – aromero