#!/usr/bin/ruby

# 랜덤

## 클래스 메서드를 사용

r = Random.bytes(8) # 8바이트 길이의 랜덤 바이트
p r.size
r = Random.urandom(8) # 8바이트 길이의 랜덤 바이트
p r.size

r = Random.rand # 부동소수
p r
r = Random.rand(5) # 0부터 최대 값이 5 사이인 임의의 수
p r
r = Random.rand(1..6) # 범위 지정
p r

## 인스턴스 메서드를 사용할 수도 있습니다.

prng = Random.new
r = prng.bytes(8)
r = prng.rand(1..6)


## 시큐어 랜덤

require 'securerandom'

r = SecureRandom.rand # Random과 마찬가지 방식으로 사용할 수 있습니다.
r = Random.rand(1..6)


r = SecureRandom.alphanumeric(10) # 문자와 숫자로 구성된 랜덤 문자열
r = SecureRandom.hex(8) # 16진 문자열 형식으로
r = SecureRandom.base64(16) # babse64 형식의 랜덤 문자열
r = SecureRandom.urlsafe_base64(16)
r = SecureRandom.uuid # UUID

p r

END{
  # https://ruby-doc.org/3.3.0/Random.html
  # https://ruby-doc.org/3.3.0/stdlibs/securerandom/SecureRandom.html
}
