O Ruby conta com um criador de números aleatórios (ou randômicos) já integrado ao seu código, que é o método rand. Desde a versão 1.9.3 o Ruby adicionou a possibilidade de usar faixas como argumentos ao rand, o que produz um código mais direto. Vamos analisar agora algumas das formas de criar número aleatório usando o rand.
Se você chamar o método rand diretamente, obterá um float maior ou igual a 0.0 e menor do que 1.0.
rand() 0.0047585340125684
Se você colocar nele um parâmetro inteiro (como, por exemplo, rand(7)), você obterá um valor inteiro maior que ou igual a 0 e menor que 7.
rand(7) 5
Caso esteja procurando um número, dentro de uma faixa específica, você pode usar o método abaixo:
rand(1..10) 8
Onde o valor inicial será o limite inferior da faixa, e o valor final será o limite superior, inclusos.
Se você estiver procurando uma faixa não inclusiva, pode usar 3 pontos:
rand(1...10) 9
Isso excluirá da geração do número aleatório o valor final, no caso, 10. Você pode fazer a mesma coisa usando a forma anterior e inserindo último valor que você seja incluir:
rand(1..9) 8
O random.rand funciona de forma bastante semelhante ao rand:
Random.rand(10...42) # => same as rand(10...42)
Entretanto, quando o valor do argumento é um inteiro negativo, ou um zero, esse método retorna ArgumentError, ao contrário do rand.
Você conhece outras formas de criar números aleatórios no Ruby? Compartilhe seus comentários na seção abaixo!
Caso deseje explorar outras questões, pode conferir nossos vídeos sobre Ruby. Abaixo estão alguns exemplos:
Você também pode se inscrever em alguns canais que fazem broadcast em Ruby, como os a seguir:
Outra maneira legal de descobrir mais coisas interessantes sobre Ruby é acessar nossa página de projetos!
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
It’s another week and like always we have to explore the top yield platforms for…