Rubin-Zufallszahl
- Erstellen Sie Zufallszahlen in Ruby
-
Verwenden Sie
rand()
, um Zufallszahlen in Ruby zu generieren -
Verwenden Sie
Kernel#srand
, um den Zufallszahlengenerator zu impfen - Erstellen Sie eine zufällige Zeichenfolge in Ruby
- Abschluss
Dieser Artikel erklärt, wie man Zufallszahlen in Ruby erstellt.
Erstellen Sie Zufallszahlen in Ruby
Es gibt verschiedene Möglichkeiten, Zufallszahlen in Ruby zu generieren.
- Mit der
rand()
-Methode. - Mit der Methode
Kernel#srand
wird der Zufallszahlengenerator geseedet.
Die Methode rand()
generiert einen zufälligen Float zwischen 0
und 1
. Dies kann nützlich sein, um Zufallszahlen für Simulationen oder Spiele zu generieren.
Die rand()
-Methode wird in Verbindung mit der Floor-Methode verwendet, um eine zufällige Ganzzahl zu generieren. Dies gibt eine zufällige ganze Zahl zwischen 0
und der an die Floor-Methode übergebenen Zahl zurück.
Das folgende Code-Snippet generiert beispielsweise eine zufällige Ganzzahl zwischen 0
und 10
.
rand(10).floor
Schliesslich kann mit der Methode srand()
der Zufallszahlengenerator geseedet werden. Dies ist nützlich, wenn Sie die genaue Folge von Zufallszahlen in mehreren Durchläufen des Programms entwickeln möchten.
Verwenden Sie rand()
, um Zufallszahlen in Ruby zu generieren
Die Methode rand()
ist eine beliebte Methode, um Zufallszahlen in der Programmierung zu erzeugen. Es ist eine einfache Methode, die einen Algorithmus verwendet, um eine Pseudozufallszahl zwischen 0 und 1 zu erzeugen.
Diese Zahl wird dann mit dem gewünschten Bereich multipliziert und auf die nächste ganze Zahl gerundet, um das Endergebnis zu erhalten.
Die rand()
-Methode wird oft in Spielen und Simulationen verwendet, um eine realistische und unvorhersehbare Umgebung zu schaffen. Es wird auch bei statistischen Stichproben und Datenanalysen verwendet.
Wenn Sie eine Zufallszahl zwischen 0
und 10
erstellen möchten, können Sie die Rand-Methode wie folgt verwenden.
Codebeispiel:
rand(10)
puts rand(10)
Ausgang:
5
Das folgende Beispiel generiert mit der Methode rand()
eine Zufallszahl zwischen 1 und 10.
Codebeispiel:
rand(1..10)
puts rand(1..10)
Ausgang:
6
Verwenden Sie Kernel#srand
, um den Zufallszahlengenerator zu impfen
Sie können auch die Methode Kernel#srand
verwenden, um den Zufallszahlengenerator zu impfen, was Ihnen mehr Kontrolle über die generierten Zufallszahlen gibt. Beim Aufruf mit einem Seed setzt die Methode Kernel#srand
den Zufallszahlengenerator, wodurch es möglich wird, wiederholbare Sequenzen von Zufallszahlen zu erzeugen.
Wenn kein Seed bereitgestellt wird, wird der Generator mit einer Kombination aus Zeit, der Prozess-ID und einer Sequenznummer gesät. Der Aufruf von Kernel#srand
mit dem identischen Seed erzeugt immer dieselbe Folge von Zufallszahlen.
Dies kann zum Debuggen oder zum Erstellen deterministischer Simulationen nützlich sein. Die Verwendung des gleichen Seeds in der Produktion ist jedoch im Allgemeinen schlecht, da Ihre Anwendung vorhersehbarer und einfacher auszunutzen sein kann.
Wenn Sie wiederholbare Folgen von Zufallszahlen generieren müssen, ist es im Allgemeinen besser, eine Bibliothek zu verwenden, die eine dedizierte API bereitstellt, wie z. B. Mersenne Twister.
Codebeispiel:
puts srand 1234
puts [rand, rand]
puts [rand(10), and(1000)]
puts srand 1234
puts [rand, rand]
Ausgang:
68269704279078804018695389408585286811
0.1915194503788923
0.6221087710398319
4
1000
1234
0.1915194503788923
0.6221087710398319
Erstellen Sie eine zufällige Zeichenfolge in Ruby
Es gibt einige Möglichkeiten, zufällige Zeichenfolgen in Ruby zu generieren. Eine Möglichkeit ist die Verwendung der Methode Array.sample
.
Diese Methode wählt ein zufälliges Element aus einem Array aus.
Codebeispiel:
arr = ['a', 'b', 'c', 'd', 'e']
arr.sample
puts arr.sample
Ausgang:
c
Eine andere Möglichkeit, zufällige Zeichenfolgen zu generieren, ist die Verwendung der Methode SecureRandom.hex
. Dadurch wird eine zufällige Zeichenfolge aus hexadezimalen Zeichen generiert.
Codebeispiel:
require 'securerandom'
inp=SecureRandom.hex(10)
puts inp
Ausgang:
e30c8046b7fac0627436
Sie können auch die Methode SecureRandom#base64
verwenden, um eine zufällige Zeichenfolge von base64-Zeichen zu generieren.
Codebeispiel:
require 'securerandom'
inp=SecureRandom.base64(10)
puts inp
Ausgang:
kc8/UBu0aFA8eg==
Benötigen Sie einen zufälligen String bestimmter Länge, können Sie die Methode SecureRandom#random_bytes
verwenden. Dadurch wird eine zufällige Zeichenfolge von Bytes generiert:
require 'securerandom'
inp=SecureRandom.random_bytes(10)
puts inp
Ausgang:
�gՙP0�n[
Wenn Sie schließlich eine zufällige alphanumerische Zeichenfolge benötigen, können Sie die Methode SecureRandom#urlsafe_base64
verwenden.
Codebeispiel:
require 'securerandom'
inp=SecureRandom.urlsafe_base64(10)
puts inp
Ausgang:
ce6gAf9EyVdPMA
Abschluss
Der Artikel kommt zu dem Schluss, dass der Rand nützlich sein kann, um Zufallszahlen in Ihren Ruby-Programmen zu generieren. Die Methode akzeptiert ein optionales Argument, die Obergrenze des Ziffernbereichs, der generiert werden kann.
Eine andere Methode ist der Kernel#srand
, um den Zufallszahlengenerator zu impfen. Sie können auch eine zufällige Zeichenfolge mit der Ruby-Sprache erstellen.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn