루비 난수
이 기사에서는 Ruby에서 난수를 생성하는 방법을 설명합니다.
Ruby에서 난수 만들기
Ruby에서 난수를 생성하는 몇 가지 방법이 있습니다.
rand()
메서드 사용.Kernel#srand
방법은 난수 생성기를 시드하는 데 사용됩니다.
rand()
메서드는 0
과 1
사이의 임의 부동 소수점을 생성합니다. 이것은 시뮬레이션이나 게임을 위한 난수를 생성하는 데 유용할 수 있습니다.
rand()
메서드는 무작위 정수를 생성하기 위해 floor 메서드와 함께 사용됩니다. 이것은 0
과 floor 메서드에 전달된 숫자 사이의 임의의 정수를 반환합니다.
예를 들어 아래 코드 스니펫은 0
과 10
사이의 임의의 정수를 생성합니다.
rand(10).floor
마지막으로 srand()
메서드를 사용하여 난수 생성기를 시드할 수 있습니다. 이는 프로그램을 여러 번 실행하여 정확한 난수 시퀀스를 개발하려는 경우에 유용합니다.
rand()
를 사용하여 Ruby에서 난수 생성
rand()
메서드는 프로그래밍에서 난수를 생성하는 데 널리 사용되는 방법입니다. 알고리즘을 사용하여 0과 1 사이의 의사 난수를 생성하는 간단한 방법입니다.
그런 다음 이 숫자에 원하는 범위를 곱하고 가장 가까운 정수로 반올림하여 최종 결과를 얻습니다.
rand()
메서드는 현실적이고 예측할 수 없는 환경을 만들기 위해 게임 및 시뮬레이션에서 자주 사용됩니다. 또한 통계 샘플링 및 데이터 분석에도 사용됩니다.
0
과 10
사이의 임의의 숫자를 만들고 싶다면 다음과 같이 rand 방법을 사용할 수 있습니다.
코드 예:
rand(10)
puts rand(10)
출력:
5
다음 예제는 rand()
메소드를 사용하여 1에서 10 사이의 난수를 생성합니다.
코드 예:
rand(1..10)
puts rand(1..10)
출력:
6
Kernel#srand
를 사용하여 난수 생성기 시드
또한 Kernel#srand
방법을 사용하여 난수 생성기를 시드하여 생성된 난수를 더 잘 제어할 수 있습니다. 시드와 함께 호출하면 Kernel#srand
메서드는 난수 생성기를 시드하여 반복 가능한 난수 시퀀스를 생성할 수 있습니다.
시드가 제공되지 않으면 시간, 프로세스 ID 및 시퀀스 번호의 조합으로 생성기가 시드됩니다. 동일한 시드로 Kernel#srand
를 호출하면 항상 동일한 순서의 난수가 생성됩니다.
이는 디버깅 또는 결정적 시뮬레이션 생성에 유용할 수 있습니다. 그러나 프로덕션 환경에서 동일한 시드를 사용하는 것은 일반적으로 좋지 않습니다. 애플리케이션을 보다 예측 가능하고 악용하기 쉽게 만들 수 있기 때문입니다.
반복 가능한 난수 시퀀스를 생성해야 하는 경우 일반적으로 Mersenne Twister와 같은 전용 API를 제공하는 라이브러리를 사용하는 것이 좋습니다.
코드 예:
puts srand 1234
puts [rand, rand]
puts [rand(10), and(1000)]
puts srand 1234
puts [rand, rand]
출력:
68269704279078804018695389408585286811
0.1915194503788923
0.6221087710398319
4
1000
1234
0.1915194503788923
0.6221087710398319
Ruby에서 임의의 문자열 만들기
Ruby에서 임의의 문자열을 생성하는 몇 가지 방법이 있습니다. 한 가지 방법은 Array.sample
방법을 사용하는 것입니다.
이 메서드는 배열에서 임의의 요소를 선택합니다.
코드 예:
arr = ['a', 'b', 'c', 'd', 'e']
arr.sample
puts arr.sample
출력:
c
임의 문자열을 생성하는 또 다른 방법은 SecureRandom.hex
메서드를 사용하는 것입니다. 이렇게 하면 16진수 문자의 임의 문자열이 생성됩니다.
코드 예:
require 'securerandom'
inp=SecureRandom.hex(10)
puts inp
출력:
e30c8046b7fac0627436
SecureRandom#base64
메서드를 사용하여 base64 문자의 임의 문자열을 생성할 수도 있습니다.
코드 예:
require 'securerandom'
inp=SecureRandom.base64(10)
puts inp
출력:
kc8/UBu0aFA8eg==
특정 길이의 임의 문자열이 필요한 경우 SecureRandom#random_bytes
방법을 사용할 수 있습니다. 그러면 임의의 바이트 문자열이 생성됩니다.
require 'securerandom'
inp=SecureRandom.random_bytes(10)
puts inp
출력:
�gՙP0�n[
마지막으로 임의의 영숫자 문자열이 필요한 경우 SecureRandom#urlsafe_base64
메서드를 사용할 수 있습니다.
코드 예:
require 'securerandom'
inp=SecureRandom.urlsafe_base64(10)
puts inp
출력:
ce6gAf9EyVdPMA
결론
이 기사는 rand가 Ruby 프로그램에서 난수를 생성하는 데 유용할 수 있다는 결론을 내립니다. 이 메서드는 생성할 수 있는 숫자 범위의 상한인 선택적 인수를 사용합니다.
또 다른 방법은 난수 생성기를 시드하는 Kernel#srand
입니다. Ruby 언어로 임의 문자열을 생성할 수도 있습니다.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn