Rubin-Zufallszahl

Zeeshan Afridi 21 Juni 2023
  1. Erstellen Sie Zufallszahlen in Ruby
  2. Verwenden Sie rand(), um Zufallszahlen in Ruby zu generieren
  3. Verwenden Sie Kernel#srand, um den Zufallszahlengenerator zu impfen
  4. Erstellen Sie eine zufällige Zeichenfolge in Ruby
  5. Abschluss
Rubin-Zufallszahl

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.

  1. Mit der rand()-Methode.
  2. 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ՙP0n[

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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn