Method: Chars::CharSet#random_distinct_bytes

Defined in:
lib/chars/char_set.rb

#random_distinct_bytes(length, random: Random) ⇒ Array<Integer>

Creates an Array of random non-repeating bytes from the Chars::CharSet.



301
302
303
304
305
306
307
308
309
310
311
312
# File 'lib/chars/char_set.rb', line 301

def random_distinct_bytes(length, random: Random)
  shuffled_bytes = bytes.shuffle(random: random)

  case length
  when Array
    shuffled_bytes[0,length.sample(random: random)]
  when Range
    shuffled_bytes[0,random.rand(length)]
  else
    shuffled_bytes[0,length]
  end
end