しゃっふる!

けいおん!」メソッドは「けいおん」メソッドの注意が必要なバージョンです?

class Array
	def shuffle!
		# Fisher-Yates shuffle
		rgen = Random.new
		(0 ... (size - 1)).each do|i|
			j = i + rgen.rand(size - i)
			self[i], self[j] = self[j], self[i]
		end
		self
	end

	def shuffle
		dup.shuffle!
	end
end

無駄のないコードはいいものだ