def each_random_char(n,&block)
      return enum_for(:each_random_char,n) unless block_given?

      each_random_byte(n) { |byte| yield @chars[byte] }
    end
def each_random_char(n,&block)
      return enum_for(:each_random_char,n) unless block_given?

      each_random_byte(n) { |byte| yield @chars[byte] }
    end
Pass random characters to a given block.

 @param [Integer] n
   Specifies how many times to pass a random character to the block.

 @yield [char]
   The block will receive the random characters.

 @yieldparam [String] char
   The random character from the character set.

 @return [Enumerator]
   If no block is given, an enumerator object will be returned.