Números aleatórios
O Ruby vem com um gerador de números aleatórios (ou randômicos). O meio de se obter um número escolhido aleatóriamente é o rand. Se você chamar rand terá um float maior que ou igual a 0.0 e menor que 1.0. Se você der a ele um parâmetro inteiro (chamando, por exemplo, rand(5)), você obterá um valor inteiro maior que ou igual a 0 e menor que 5.
Aqui está um exemplo: p026phrase.rb
1 # p026phrase.rb 2 =begin 3 Se você chamar **rand** terá um float maior que 4 ou igual a 0.0 e menor que 1.0. Se você der a ele 5 um parâmetro inteiro (chamando, por exemplo, rand(5)), 6 você obterá um valor inteiro maior que ou igual a 0 7 e menor que 5 8 =end 9 10 # O programa abaixo faz três listas de palavras e 11 # então escolhe aleatoriamente uma palavra 12 # para cada uma das três listas e imprime o resultado 13 14 lista_palavras_um = ['24/7', 'multicamada', '30,000 pés', 'B2B', 'win-win', 15 'front-end', 'web-based', 'pervasivo', 'inteligente', 16 'seis-sigma', 'caminho-crítico', 'dinâmico'] 17 18 lista_palavras_dois = ['empowered', 'sticky', 'value-added', 'orientado', 19 'centrado', 'distribuído', 'agrupado', 'branded', 20 'fora-da-caixa', 'posicionado', 'em rede', 'focado', 21 'alavancado', 'alinhado', 'targeted', 'compartilhado', 22 'cooperativo', 'acelerado'] 23 24 lista_palavras_tres = ['processo', 'tipping-point', 'solução', 'arquitetura', 25 'competência central', 'estratégia', 'mindshare', 26 'portal', 'espaço', 'visão', 'paradigma', 'missão'] 27 28 tamanho_um = lista_palavras_um.length 29 tamanho_dois = lista_palavras_dois.length 30 tamanho_tres = lista_palavras_tres.length 31 32 rand1 = rand(tamanho_um) 33 rand2 = rand(tamanho_dois) 34 rand3 = rand(tamanho_tres) 35 36 frase = lista_palavras_um[rand1] + " " 37 + lista_palavras_dois[rand2] + " " + lista_palavras_tres[rand3] 38 39 puts frase
O programa acima cria três listas de palavras e então seleciona aleatoriamente uma palavra de cada uma das listas e imprime o resultado.
Este material tem como base o tutorial do RubyLearning.com de Satish Talim e foi traduzido por membros do GURU-SP com a permissão do autor.
Ajude o RubyLearning participando em algum dos cursos pagos ou fazendo uma doação para o projeto