カブらない数字を4桁だすの
id:dropdbさんのとこより。 僕が思いついたのはこんなの。
nums = (0..9).to_a 4.times do print nums.delete_at(rand(nums.size)) end
先に0から9までの配列を作っておいて、そこからランダムに一つずつ取り出すイメージ。 頭の中のイメージをそのままコードに出来るのが Ruby の魅力の一つかも。
追記
id:dropdbさんとこのコメントのコードに感動した。
(0..9).sort_by{rand}[0,4]
[1,2,3,4,5].sort_by{rand} と書くと、配列の内容をランダムに並び変えることができる*1。 Perl の
foreach $key (sort keys %hash)
みたいな分かりやすさだなぁ。