class NoRepRand

Public Instance Methods

raand(digitcount, nostartwithzero = false) click to toggle source
# File lib/noreprand.rb, line 14
def raand(digitcount, nostartwithzero = false)
        if digitcount > 10
                raise ExceededDigitLimit
        elsif digitcount <= 0
                raise BelowDigitMinimum
        else
                digits = Array(0..9)
                tempnum = []
                digitcount.times do
                        if tempnum.length == 0 && nostartwithzero == true
                                digits.delete(0)
                                randindex = rand(digits.length)
                                tempnum.push(digits[randindex])
                                digits.delete(digits[randindex])
                                digits.insert(0, 0)
                        else
                                randindex = rand(digits.length)
                                tempnum.push(digits[randindex])
                                digits.delete(digits[randindex])
                        end
                end
                return tempnum.join('')
        end
end