Gerando uma String Randomicamente com Ruby on Rails

23.7.2009 - DICA1,Ruby on rails - por

Estou desenvolvendo uma pequeno aplicativo para poder estudar.
Desenvolver e estudar ao mesmo tempo.

Esses dias me deparei com a necessidade de gerar uma String randomicamente.
Decidi que a String teria 4 caracteres entre letras e números.

Veja o código em Ruby on Rails:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Random
  def random_pass

    a = ['a','b','c','d','e','f','h','i','j','l','m','n','o','p',
    'q','r','s','t','u','v','x','z','k','y','w','1','2','3','4',
    '5','6','7','8','9']

    rand1 = a[rand(a.size)]
    rand2 = a[rand(a.size)]
    rand3 = a[rand(a.size)]
    rand4 = a[rand(a.size)]

    @pass = rand1 + rand2 + rand3 + rand4

  end
end

random = Random.new
puts random.random_pass

Não sei se essa é a melhor forma de fazer isso, acredito que não, mas até então está atendendo à minha necessidade. No futuro quando eu aprender mais Ruby e Rails, vou melhorando o código.

Related Posts with Thumbnails
Luanildo Silva

    Twitter
Front-end da Perfil Virtual. Experiência em desenvolvimento de sites em XHTML,CSS,jQuery e PHP. Desenvolvimento de sites e blogs utilizando a plataforma Wordpress. Graduando em Administração pela UNEF.

Tags: , , , ,

  • http://jroque.com jRoque

    Aceitando o desafio do colega Luan, minha contribuição em JavaScript :D

    //Extendendo a classe String, nativa do JS para adcionar o metodo getRandonString.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    String.prototype.getRandonString = function(){
            n = 4;
            var result = "";
            var possible = "abcdefghijlmnopqrstuvxz0123456789";
            for(i=1;i<=n;i++){
                    var rand_no;
                    do{
                            rand_no = Math.ceil(Math.random() * 100)-1;
                    }while(rand_no>possible.length-1)
                    result += possible.charAt(rand_no);
            }
            delete(i);
            return result;
    }
    var meuTexto = String().getRandonString();