Atribuição

2 respostas
Dennys

Salve senhores!

Sou novato em ruby e estou dando manutenção em um site simples… até agora sem muitas complicações.

Porém vi um trecho de código que me deixou confuso.

Qual a diferença entre:

@conn ||= find_connection();

e

@conn = find_connection();

Eu não entendi o porque do pipe.

Abraços!!!

2 Respostas

dlt

Isso é chamado lazy initialization .

Por exemplo:

@var ||= 1

É equivalente a:

@var = @var or 1

Ou seja, se a variável já tiver sido inicializada, continua com o valor original. Senão recebe 1.

Dennys

dlt:
Isso é chamado lazy initialization .

Por exemplo:

@var ||= 1

É equivalente a:

@var = @var or 1

Ou seja, se a variável já tiver sido inicializada, continua com o valor original. Senão recebe 1.

Ummmmmm interessanteeeee!

Muito obrigado pela explicação!

:smiley:

Criado 10 de junho de 2010
Ultima resposta 10 de jun. de 2010
Respostas 2
Participantes 2