Atribuição

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!!!

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.

[quote=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.[/quote]

Ummmmmm interessanteeeee!

Muito obrigado pela explicação!

:smiley: