← StartseiteProgrammierung (Програмування)

Wie erhält man einen zufälligen logischen Wert true oder false in Ruby?

Wie erhält man einen zufälligen logischen Wert true oder false in Ruby? Wir erhalten einen zufälligen booleschen Wert in Ruby.

Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Manchmal muss man einen zufälligen booleschen Wert true/false in Ruby erhalten. Zum Beispiel, wenn wir die Datenbank in Rails seed und Objekte erstellen möchten, die den realen so nah wie möglich kommen.
Erste Variante. Methode sample:
[true, false].sample
Um zu testen, wie immer - starten wir IRB (Interactive Ruby Shell) im Terminal:
Screenshot 2023-05-03 at 21.01.03.png
Zweite Variante. Mischen (Methode shuffle) des Arrays [true, false] und den ersten oder zweiten Element mit dem Index nehmen.
Wir mischen die Elemente im Array:
[true, false].shuffle
Screenshot 2023-05-03 at 21.22.23.png
Danach nehmen wir das erste [0] oder das zweite [1] Element des gemischten Arrays:
[true, false].shuffle[0]
oder
[true, false].shuffle[1]
Screenshot 2023-05-03 at 21.23.32.png
Dritte Variante. Eine zufällige Zahl mit der Methode rand erhalten und mit einer von ihnen vergleichen.
1. Zufällig 0 oder 1 erhalten;
2. Die erhaltene Zahl, zum Beispiel mit 1, vergleichen.
Zufällige Zahl:
rand(2)
=> 0
rand(2)
=> 1
Vergleich:
rand(2) == 1
=> false

rand(2) == 1
=> true
Vierte Variante. Modifizierte dritte Variante (mit der Methode zero?):
rand(2).zero?
Die Methode zero? fragt, ob die Zahl 0 ist. Hier muss man verstehen, dass rand(2) 0 oder 1 ergibt.
Also ist zero? eine schönere Variante des Vergleichs X == 0
 
Fünfte Variante
. Die Faker-Bibliothek. 
Fast immer kann man in einem Projekt die Faker-Bibliothek sehen, die es ermöglicht, gefälschte Daten (zum Erstellen von Testobjekten) zu erhalten.
In reinem Ruby kann man Faker installieren:
gem install 'faker'
wir binden die Bibliothek ein
require 'faker' 
Wir erhalten einen zufälligen booleschen Wert mit Faker:
Faker::Boolean.boolean
require 'faker'

=> true


Faker::Boolean.boolean

=> false

Faker::Boolean.boolean

=> true
Screenshot 2023-05-03 at 21.44.17.png
Ich denke, es gibt noch viele Varianten, um einen zufälligen booleschen Wert in Ruby zu erhalten. Genau das macht Ruby so großartig. Die gleiche Aufgabe kann auf viele Arten gelöst werden. Und fast alle werden 'richtig' sein. Hier stellt sich die Frage nach der Ausführungsgeschwindigkeit des Codes und seinem Stil (wie leicht er zu lesen und zu verstehen ist).

🔥 Weitere Beiträge

Alle Beiträge
Programmierung (Програмування)16. Mai '23, 20:02 Uhr

Was ist Origin in Git?

Was ist Origin in Git? Warum schreibt man origin in einem Git-Befehl? Wann und wozu sind Aliase i...