Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

Jak uzyskać losową wartość logiczną true lub false w Ruby?

Ta treść została automatycznie przetłumaczona z ukraińskiego.
Czasami trzeba uzyskać losową wartość boolean true/false w Ruby. Na przykład, gdy robimy seed bazy danych w Rails i chcemy stworzyć obiekty jak najbardziej zbliżone do rzeczywistych.
Opcja pierwsza. Metoda sample:
[true, false].sample
Aby przetestować, jak zawsze - uruchamiamy IRB (Interactive Ruby Shell) w terminalu:
Screenshot 2023-05-03 at 21.01.03.png
Opcja druga. Wymieszać (metoda shuffle) tablicę [true, false] i wziąć pierwszy lub drugi element używając indeksu.
Wymieszujemy elementy w tablicy:
[true, false].shuffle
Screenshot 2023-05-03 at 21.22.23.png
Po tym bierzemy pierwszy [0] lub drugi [1] element wymieszanej tablicy:
[true, false].shuffle[0]
lub
[true, false].shuffle[1]
Screenshot 2023-05-03 at 21.23.32.png
Opcja trzecia. Uzyskać losową cyfrę za pomocą metody rand i porównać z jedną z nich.
1. Uzyskujemy losowo 0 lub 1;
2. Porównujemy uzyskaną cyfrę, na przykład z 1.
Losowa cyfra:
rand(2)
=> 0
rand(2)
=> 1
Porównanie:
rand(2) == 1
=> false

rand(2) == 1
=> true
Opcja czwarta. Zmodyfikowana trzecia opcja (z metodą zero?):
rand(2).zero?
Metoda zero? pyta, czy cyfra jest równa 0. Tutaj trzeba rozumieć, że rand(2) daje 0 lub 1.
Więc zero? jest ładniejszą opcją porównania X == 0
 
Opcja 5
. Biblioteka Faker. 
Prawie zawsze można zobaczyć w projekcie bibliotekę Faker, która pozwala uzyskać fałszywe dane (do tworzenia testowych obiektów).
W czystym ruby można zainstalować Faker:
gem install 'faker'
łączymy bibliotekę
require 'faker' 
Uzyskujemy losową wartość boolean za pomocą Faker:
Faker::Boolean.boolean
require 'faker'

=> true


Faker::Boolean.boolean

=> false

Faker::Boolean.boolean

=> true
Screenshot 2023-05-03 at 21.44.17.png
Myślę, że można znaleźć jeszcze wiele sposobów na uzyskanie losowej wartości boolean w Ruby. To właśnie czyni Ruby świetnym. Tę samą zadanie można wykonać na wiele sposobów. A prawie wszystkie będą 'poprawne'. Tutaj już chodzi o szybkość wykonania kodu i jego styl (jak łatwo jest go czytać i rozumieć).

Ten post nie ma jeszcze żadnych dodatków od autora.

3 maj '23 17:46

Co zrobić, jeśli w macOS nie działa kamera internetowa?

meme code
meme code@memecode
6 maj '23 09:19

Jak wyłączyć przesyłanie plików w edytorze Trix?

meme code
meme code@memecode
10 maj '23 17:40

Jak używać kolorów szesnastkowych CSS z wartością alfa?

meme code
meme code@memecode
16 maj '23 20:02

Co to jest Origin w Git?

meme code
meme code@memecode
16 maj '23 22:17

Jak usunąć odstęp między elementami inline a inline-block?

meme code
meme code@memecode
17 maj '23 18:52

Co to jest loop w Javascript? Jak działają pętle for i while w Javascript?

meme code
meme code@memecode
22 maj '23 16:26

Jaka jest różnica między <%, <%=, <%# a -%> w szablonach ERB (Ruby on Rails)?

meme code
meme code@memecode