Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Wie erhält man einen zufälligen logischen Wert true oder false 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).

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

03. Mai, 17:46 Uhr

Was tun, wenn die Webcam unter macOS nicht funktioniert?

meme code
meme code@memecode
06. Mai, 09:19 Uhr

Wie deaktiviere ich den Datei-Upload im Trix-Editor?

meme code
meme code@memecode
10. Mai, 17:40 Uhr

Wie verwendet man Farben mit hexadezimalem CSS-Code und Alpha-Wert?

meme code
meme code@memecode
16. Mai, 20:02 Uhr

Was ist Origin in Git?

meme code
meme code@memecode
16. Mai, 22:17 Uhr

Wie entfernt man den Abstand zwischen Inline- und Inline-Block-Elementen?

meme code
meme code@memecode
17. Mai, 18:52 Uhr

Was ist eine Schleife in Javascript? Wie funktionieren die Schleifen for und while in Javascript?

meme code
meme code@memecode
22. Mai, 16:26 Uhr

Was ist der Unterschied zwischen <%, <%=, <%# und -%> in ERB-Vorlagen (Ruby on Rails)?

meme code
meme code@memecode